写爬虫的时候验证码怎么处理?

2013-05-02 22:22:57 +08:00
 cloverstd
怎么在登录的时候输入验证码,并且 POST 提交验证?

也就是把验证码显示,人来手动识别输入,然后再提交
但是这样的话,显示的验证是前一个,等提交的时候,需要验证的验证码已经刷新了,于是就验证不了了
请问这个怎么解决?
23706 次点击
所在节点    Python
19 条回复
lfhong
2013-05-02 22:30:35 +08:00
为什么显示的验证码是前一个?应该不会发生这种情况呀
lfhong
2013-05-02 22:33:04 +08:00
我以前搞一个网站的时候,发现那个网站每周更新一次验证码的图片库,然后每个星期之内,验证码都是从这个库里出的。所以我就每周把所有的图都刷一遍,人工识别了以后,更新到数据库里面。这一周就全自动了。

不过一般网站验证码应该是随机生成的,我弄的那个站是流量太大,所以他们每周更新一次库。
cloverstd
2013-05-02 22:33:10 +08:00
@lfhong 首先是获取验证码的图片,输入验证码,然后验证提交的时候是验证的是下一个验证的图片
lfhong
2013-05-02 22:35:04 +08:00
那可能是你的keep alive或者cookie session什么的没搞好,服务器后端刷新了。
lfhong
2013-05-02 22:37:33 +08:00
或者是POST的时候,没有post该验证码对应的session id什么的
cloverstd
2013-05-02 22:40:18 +08:00
@lfhong 好的,谢谢,我试试。
v2ex_user001
2013-05-03 00:08:16 +08:00
将验证码截图发到微信,随时随地人工识图~
Idiosyncratic
2013-05-03 13:46:58 +08:00
可不可以试试开源的OCR库,来识别一下看看,失败再发微信人工识别
lazybios
2013-05-04 13:26:55 +08:00
@Idiosyncratic 这个办法好,机器+人肉
Idiosyncratic
2013-05-04 15:58:01 +08:00
@lazybios 我没试过,不知道这个法子靠不靠谱,不过有些类型验证码貌似的确可以被OCR识别出来,有些就不行了。。。,据说那种字歪歪扭扭的是很难用机器识别的,而那些只是大小不一的字符的话,机器可以识别
billzhuang
2013-05-04 17:44:56 +08:00
歪歪扭扭的OCR很难识别,还有种思路,就是你有个访问量还凑活的站,让你要爬的网站出现的验证码,丢到你自己的站的访问者那边,让他们输,然后你再返回过去。
lch21
2013-05-04 22:50:06 +08:00
有第三方公司专门提供API,人工识别验证码,不过要花钱
google 的验证码都能破
daoluan
2013-07-05 23:52:12 +08:00
@v2ex_user001 哈哈,这个办法好好啊,哈哈
semut
2015-07-24 13:54:11 +08:00
@lfhong 怎么发现网站的验证码是一周一次更新的啊,感觉有点难度啊
xiahei
2016-05-05 12:34:55 +08:00
楼主解决了没?我也遇到这问题了!
cloverstd
2016-05-05 13:03:05 +08:00
@xiahei 简单验证码上 PIL
复杂的网上找打码工具
xiahei
2016-05-05 22:44:57 +08:00
@cloverstd 不是识别验证码的问题,不知为何,遇到个总是 post 验证码但是实际上 post 的是前一个,验证码已经刷新了。也不知道是为什么。
cloverstd
2016-05-05 22:50:10 +08:00
@xiahei 用 requests 的 session
或者自己处理 cookies
kanchi240
2016-07-06 00:11:21 +08:00
@cloverstd 我用的 requests 的 session ,但是不行,每次都是提示验证码错误,请求验证码、登录 post 的 session 我打印出来了,都是一样的,但是还是在登陆页面

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/67542

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX