TomPyer / scrapyPython3

0 stars 0 forks source link

真棒 #1

Closed zhangslob closed 6 years ago

zhangslob commented 6 years ago

感谢分享

TomPyer commented 6 years ago

ummmm....这个更新随缘...工作忙更新少,工作不忙瞎更新....

zhangslob commented 6 years ago

昨晚看了知乎登录这个,现在需要点击验证码,带上captcha的值,楼主有什么好方法吗?

TomPyer commented 6 years ago

使用scrapyd部署爬虫的话,input语句没办法生效,被scrapyd运行的cmd窗口给拦住了,所以我是直接 scrapy crawl ****(spider name) 运行爬虫后,等待验证码图片下载完毕后打开,自己输入验证码,但还是没过去这关....手动输的验证码一直被回复验证码错误.....

TomPyer commented 6 years ago

2017-12-20 15:34:58 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://www.zhihu.com/captcha.gif?r=1513755298467&type=login&lang=en via http://192.168.99.100:8050/render.html> (referer: None) 100% [................................................................................] 4675 / 4675请打开D:\work\scrapyPython3\scrapyPython3\captcha.jpg文件,手动输入验证码 请输入图片中的验证码...tepy 2017-12-20 15:35:10 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://www.zhihu.com/#signin via http://192.168.99.100:8050/render.html> (referer: None) a98bf54a1b88e5aabc1195bafc62e0e8 tepy 2017-12-20 15:35:12 [scrapy.core.engine] DEBUG: Crawled (200) <POST https://www.zhihu.com/login/phone_num via http://192.168.99.100:8050/render.html> (referer: None) b'

{\n    "r": 1,\n    "errcode": 1991829,\n    \n    "data": {"captcha":"\u9a8c\u8bc1\u7801\u9519\u8bef"},\n    \n    \n    "msg": "\u9a8c\u8bc1\u7801\u9519\u8bef"\n
\n}
'

这是我一次测试运行的输出,你按照现在版本的代码直接运行scrapy crawl zhihu 应该是可以达到一样的效果,只不过这个验证码一直错误还是有点困扰着我,嗯。。这两天工作比较忙,也没时间研究,如果有好的方法或思路欢迎一起讨论一下。(上面返回信息里的五个Unicode字符就是“验证码错误”)

zhangslob commented 6 years ago

那个,验证码不是这个吗? '请点击图中所有倒立的文字',比如说这个 https://www.zhihu.com/captcha.gif?r=1513755591837&type=login&lang=cn

TomPyer commented 6 years ago

https://www.zhihu.com/captcha.gif?r=1513755591837&type=login&lang=cn
上面的cn换成en,返回结果不一样, 再提交POST请求时有个参数,captcha_type,默认为cn,手动写成en, 嗯。。很可能这个方法也有问题,反正他是一直返回我验证码错误

zhangslob commented 6 years ago

哇,受教了。原来还可以使用这种方法,我晚上改进下,应该是没问题的。

TomPyer commented 6 years ago

成功了的话愿闻其详。。。我都快打算用request直接写一个小爬虫,尝试一波登录情况了

TomPyer commented 6 years ago

来来来,看我最新的更新,我成功了

2017-12-20 16:21:15 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://www.zhihu.com/captcha.gif?r=1513758075205&type=login&lang=en via http://192.168.99.100:8050/render.html> (referer: None) 100% [................................................................................] 3998 / 3998请打开D:\work\scrapyPython3\scrapyPython3\captcha.jpg文件,手动输入验证码 请输入图片中的验证码...h8ny 2017-12-20 16:21:25 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://www.zhihu.com/#signin via http://192.168.99.100:8050/render.html> (referer: None) 65323732626630312d353439372d346333372d613934662d633735313733303462663961 h8ny 2017-12-20 16:21:27 [scrapy.core.engine] DEBUG: Crawled (200) <POST https://www.zhihu.com/login/phone_num> (referer: https://www.zhihu.com/) b'{"r":0,\n "msg": "\u767b\u5f55\u6210\u529f"\n}'

zhangslob commented 6 years ago

真棒,你有修改什么配置吗? 为啥突然就好了

TomPyer commented 6 years ago

你看README,讲的很详细了

zhangslob commented 6 years ago

OK,晚上试试看。 一个小插曲,用Scrapy爬知乎,没有登录,抓包用的API,爬了1万多数据,就一直返回错误码了,用浏览器隐身模式打开知乎,竟然要我填验证码,用正常浏览器打开,没有任何异常。 输入验证码之后,爬虫又正常了。 说明爬知乎有两点:Cookie和IP

zhangslob commented 6 years ago

还有,你确定要把你的cookie公布吗 >_<!

TomPyer commented 6 years ago

cookie有有效期,过了就要换的,密码我已经公布2次换2次了。。。

zhangslob commented 6 years ago

可以,这个Issue可以close了