爬虫之模拟登陆处理cookie

it2026-01-12  10

爬虫模拟登陆

1、识别验证码

如果登陆时需要输入验证码,则需要识别该验证码 我用的是云打码平台 图鉴:http://www.ttshitu.com/ 自己琢磨了开发文档

import base64 def code_ver(b_img, typeid=3): """识别验证码""" # 开发文档给的HTML的api接口 url = 'http://api.ttshitu.com/base64' data = { 'username':'***************', # 账号 'password': '***************', # 密码 'typeid': str(typeid), # 识别类型,字符串类型 'image': b_img, # base64格式 导入base64模块,b_img = base64.b64encode(b'需要识别图片二进制') } res = requests.post(url, data=data, headers=headers) json_data = res.json() return json_data['data']['result']

2、session对象

http/https协议特征:无状态 没有请求到页面数据的原因是: 发起的第二次请求该页面的个人信息时,服务器不能识别该请求是否是登陆状态的请求 cookie是用来记录客户端相关状态 因此需要使用session对象来保存cookie session对象的作用是

可以发送请求如果请求过程中产生了cookie,cookie将会自动保存在session对象中,在下次请求中,使用有cookie的session对象请求,即可获得个人信息 import requests session = requests.Session() res = session.get(url,headers=headers)

3、代理服务器

代理相关的网站:

www.goubanjia.com快代理西祠代理

代理IP类型

http : 应用到http协议中的url中https: 应用到https协议中的url中 proxies = { 'https':'223.242.224.3:9999' } res = requests.get(url,headers=headers,proxies=proxies)

代理IP匿名度

透明:服务器知道该请求使用了代理IP,也知道真实IP 匿名:服务器知道该请求使用了代理IP,但不知道真实IP 搞匿:服务器几步知道使用了代理IP,也不知道真实IP

最新回复(0)