Python怎么获取HTML里的图片,并且显示出来
我在爬一个页面,需要输入 验证码 。于是,我想抓下图片,然后显示之后,手动输入。
之前,是这种方法:
http://stackoverflow.com/questions/7391945/how-do-i-read-image-data-from-a-url-in-python
但是发现,
这样需要再次请求图片,所以图片会再次刷新
,因此总是返回验证码错误。
ICEking
11 years, 6 months ago
Answers
我在不同场合说过无数遍一个观点,如果你想学习怎么爬一个网页,去学学怎么写网页。
那我们来看看验证码是怎么工作的。
当你打开一个页面,它会显示一个验证码图片,你输入验证码,提交。
而服务器需要知道,它给你展示的是哪张验证码,然后才能验证对不对。
我们知道HTTP是无状态的,它发送请求给你之后就结束了,它要怎么知道“以前”给你的验证码是什么?
太多前置基础知识,直接说结论吧。
方式一:验证码会给你写一个cookie,你输入验证码的提交时候就带有这个cookie,这样服务器就知道你看到的是哪个验证码,然后验证。
方式二:提交时带一个隐藏表单,带着哪张验证码信息。
好现在你知道了,关键有两点:
1、你提交了正确的验证码
2、你得告诉服务器你看到了哪张验证码
高機動型怪叔叔
answered 11 years, 6 months ago