2012-01-02 57 views
1

我有一个网页,我正在使用greasemonkey做很多很酷的东西。我其实在greasemonkey/javascript很糟糕,但我很快学习。每过一段时间,我都会得到一个非常可怕的CAPTCHA验证,我想自动化。我有一个命令行实用程序可与本地和远程文件做到这一点,但不能与有问题的文件,因为这是一个会话背后..图片,OCR和greasemonkey

[email protected] ocr-thingy my-image.png 
135189 

就像一个魅力。我正在寻找一种方法将网站上的图像(运行脚本)传递给该实用程序。我不在乎它有多复杂,但目前我很无能。我一直在考虑提供该实用程序作为某种类型的REST类API来与greasemonkey进行交互,但我不知道如何向API提供图像,而不是通过传递不起作用的URL(如上所述之前)。 Greasemonkey(幸运的)不允许你在我的电脑上下载一个运行软件的文件,所以最直接的选择就不存在了。

我对所有建议都很开放,对我来说这是一个有趣的侧面项目,所以越疯狂越好;)我宁愿选择在后台静静地运行(不需要或需要像鼠标和键盘控制软件,java机器人)。

也许你有兴趣知道我并没有试图制止任何法律或任何事情,网站的所有者知道我正在这样做,并有兴趣看看我是否能够做到这一点!

回答

3

“我不在乎它有多复杂,但现在我很无能。”

嗯,这是可能的,但它是一种“参与”过程。这里的高级步骤:

方法1:

  • 忘掉Greasemonkey的;编写一个Firefox插件。附加组件可以与文件系统进行交互,并可能无需使用FlashCanvas即可获取图像数据。

方法2:

  • 使用的Greasemonkey和JS的图像数据发送到服务器(使用GM_xmlhttpRequest())。这并不简单,search around for how to do that

  • 您的服务器可以是您自己的本地机器,运行类似XAMPP或任何一种免费的Web应用程序服务器。您的服务器使用PHP(或Coldfusion,或C#或Python等)运行您的OCR程序,并根据结果执行任何您想要的操作,包括将它们AJAX回到GM脚本。

+0

感谢您的帮助至今<3。我自己想过第二种方法。我知道如何使用GM_xmlhttpRequest,XAMPP和PHP。但是,如何使用httprequest发送图像。如果我只是将URI传递给图像到“API”,我将无法检索图像,因为http服务器没有会话到网站。 – TFennis 2012-01-02 22:57:28

+2

这里有关于SO的问题讨论。我没有添加书签,但是以[“在Javascript中获取图像数据”](http://stackoverflow.com/q/934012/331508)开头。 – 2012-01-02 23:32:40

+1

+1的方法2 – w35l3y 2012-01-03 01:48:16