加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 使用Scrapy Request上传验证码图像

发布时间:2020-12-20 13:19:16 所属栏目:Python 来源:网络整理
导读:我试图使用2Captcha.com服务解决验证码.首先我要保存验证码图像: urllib.urlretrieve(captcha_image_link,'captcha.jpg') 接下来,我需要将图像上传到服务器以识别它.使用普通请求就像它一样简单 files = {'file': open('captcha.jpg','rb')}payload = {'key
我试图使用2Captcha.com服务解决验证码.首先我要保存验证码图像:

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发送POST请求(请参阅 documentation),但有两件事需要考虑:

>您必须自己对文件进行编码,而request.post会为您执行此操作.
> Scrapy将异步发送请求,当您需要解决验证码时,这可能不是您想要的.

因此,我认为在Scrapy蜘蛛中使用你目前的方法并没有错.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读