2012-01-02 63 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