Python数据采集4

反反爬手段

伪装浏览器

1.定义头部信息中的User-Agent,Referer

2.urllib中使用Request(url,headers)构造方法构造请求对象

2.requests中将头部信息赋值给get/post()方法的headers参数

通过验证码

肉眼打码

使用cookie绕过用户名、密码、验证码

1.定义Session对象:s = requests.Session()

2.使用Session对象向服务器发送请求:response= s.get(url)

知识点:Session是客户端向服务器一次请求的对话,在服务器端会对客户端进行身份登记(s_id),同时服务端会向客户端发送cookie(客户端的身份信息),客户端第二次向服务端发送请求时可通过cookie绕过用户名、密码及验证的认证。

将验证码图片保存,通过人为识别

自动打码

使用pytesseract第三方库

准备:

1.下载并安装 tesseract

https://digi.bib.uni-mannheim.de/tesseract/

2.安装第三方库:Pillow,pytesseract

3.找到pytesseract库文件夹中的pytesseract.py

修改:tesseract_cmd = r"tesseract安装路径\tesseract"

步骤

1.导入模块:

import pytesseract

from PIL import Image

2.使用Image中的open方法打开外部存储的验证码图片

img = Image.open("验证码图片路径")

3.使用pytesseract中的image_to_string()方法对图片进行识别

res = pytesseract.image_to_string(img)

ip代理

代理ip:计算机访问互联网需要有唯一的ip,通过ip向服务器发送请求,服务器通过ip可以识别访问者的信息,可以通过更换ip(设置代理ip)来改变访问者信息。

获取代理ip

西刺代理、快代理.....

验证ip:花刺代理软件

使用步骤

1.定义ip代理池

proxy={“http/https”: “ip:port”,......}

2.在requests中get/post()方法的proxies参数,设置其参数值为ip代理池proxy

response = requests.get(url,headers,params,data,cookies,proxies=proxy)

js混淆和渲染

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容