4
我試圖使用2Captcha.com
服務解決驗證碼問題。首先,我保存驗證碼圖像:使用Scrapy請求上傳驗證碼圖像
urllib.urlretrieve(captcha_image_link, 'captcha.jpg')
接下來我需要將圖像上傳到服務器以識別它。使用簡單的請求,就像它一樣簡單
files = {'file': open('captcha.jpg', 'rb')}
payload = {'key': TWOCAPTCHA_APIKEY, 'method': 'post'}
request = requests.post('http://2captcha.com/in.php', files=files, data=payload)
但如何使用Scrapy做出同樣的請求?我的意思是,如何將圖像文件附加到POST請求?這可能嗎?如果沒有,那麼我想知道它是否太糟糕了在Scrapy蜘蛛內部使用普通的POST請求(以及urlretrieve)呢?
爲什麼你必須使用scrapy提出請求。在這種情況下,您只需要解決的驗證碼的響應,以便下一個請求可以完成。所以'進口請求' – surfer190
我只是想澄清一下自己 - 在Scrapy蜘蛛裏面使用'requests'安全和正確嗎?簡單的請求會減慢速度嗎? – sky
它可能會。你可以閱讀這篇有趣的文章,但我不能說它是「正確」還是「錯誤」:http://www.scrapinginsider.com/2016/01/scrapy-urllib2-requests-beautifulsoup-lxml.html – surfer190