玩蛇网提供最新Python编程技术信息以及Python资源下载!

Python获取HTML中图片并显示如何实现

我在爬一个页面,需要输入验证码。于是,我想抓下图片,然后显示之后,手动输入。

之前,是这种方法:http://stackoverflow.com/questions/7391945/how-do-i-read-image-data-from-a-url-in-python
但是发现,这样需要再次请求图片,所以图片会再次刷新,因此总是返回验证码错误。

pytesser包可以用来处理简单的验证码图片,image_to_string得到验证码,同时提交即可

再次请求不是问题的关键
注意 cookies

如果你仅仅是想获取验证码自动填写,不需要这么复杂,获取cookie就行

我在不同场合说过无数遍一个观点,如果你想学习怎么爬一个网页,去学学怎么写网页。

那我们来看看验证码是怎么工作的。
当你打开一个页面,它会显示一个验证码图片,你输入验证码,提交。
而服务器需要知道,它给你展示的是哪张验证码,然后才能验证对不对。
我们知道HTTP是无状态的,它发送请求给你之后就结束了,它要怎么知道“以前”给你的验证码是什么?

太多前置基础知识,直接说结论吧。
方式一:验证码会给你写一个cookie,你输入验证码的提交时候就带有这个cookie,这样服务器就知道你看到的是哪个验证码,然后验证。
方式二:提交时带一个隐藏表单,带着哪张验证码信息。

好现在你知道了,关键有两点:
1、你提交了正确的验证码
2、你得告诉服务器你看到了哪张验证码

玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/wenda/wd19156.html

相关文章 Recommend

玩蛇网Python互助QQ群,欢迎加入-->: 106381465 玩蛇网Python新手群
修订日期:2017年05月24日 - 19时46分22秒 发布自玩蛇网

您现在的位置: 玩蛇网首页 > Python问题解答 > 正文内容
我要分享到:

必知PYTHON教程 Must Know PYTHON Tutorials

必知PYTHON模块 Must Know PYTHON Modules