Python网络爬虫之验证码
反爬机制:验证码。识别验证码图片中的数据,用于模拟登录操作。
识别验证码的操作:
——人工肉眼识别。获取验证码图片,用肉眼识别出验证码。(不推荐)
——第三方自动识别(推荐)
超级鹰:
——注册:普通用户
——登录:普通用户
1、题分查询,不够充值
2、创建一个软件
3、下载示例程序
使用验证码识别平台识别验证码的编码流程:
——将验证码图片进行本地下载
——调用平台提供的示例代码进行图片数据识别
http/https协议有种特性为:无状态。通俗理解,当你模拟登录后,再对登陆后的网页进行发起请求时,无法请求到页面数据。这是因为服务器在你模拟登陆成功后,并没有记录你的状态为登陆成功。当你发起第二次基于个人主页页面请求的时候,服务器并不知道,该请求是基于登陆状态下的请求。
解决方法:
cookie:用于让服务器端记录客户端的相关状态。
——手动处理:通过抓包工具获取cookie值,并将该值封装到headers中。
——自动处理:
1、cookie值的来源?
模拟登录post请求后,由服务器端创建。
2、session会话对象:
作用:(1)可以进行请求的发送。(2)若请求过程中产生了cookie,则该cookie会被自动存储/携带在该session对象中。
3、处理流程:
(1)创建一个session对象:session = requests.Session()
(2)使用session对象进行模拟登录post请求(cookie就会被存储在session中)
(3)session对象对个人主页对应的get请求进行发送(携带了cookie)