python中反反爬措施小结:
1.使用用户代理(User-Agent)
User-Agent即用户代理,它使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本等信息。对于一些网站来说,它会检查我们发送的请求中所携带的UserAgent字段,如果非浏览器,就会被识别为爬虫,一旦被识别出来, 我们的爬虫也就无法正常爬取数据了。常用的用户代理可以百度用户代理大全
2.使用代理可变IP
网上有很多免费代理和付费代理可供选择,免费代理比如:西刺代理、快代理等等,付费代理比如:代理云、阿布云等等。除此之外,我们还可以建一个属于自己的代理池以供使用
3.对爬虫访问速度和路径的进行控制
有些防护措施完备的网站可能会阻止你快速地提交表单,或者快速地与网站进行交互。即使没有这些安全措施,用一个比普通人快很多的速度从一个网站下载大量信息也可能让自己被网站封杀。条件允许的情况下,可以通过设置时间停止进行伪装。
import time
import random
Rtime = random.randint(1, 3) + random.random()
time.sleep(Rtime)
4.设置合理的cookie
5.使用Tor 代理服务器
洋葱路由(The Onion Router)网络,常用缩写为 Tor,是一种 IP 地址匿名手段。由网络志愿者服务器构建的洋葱路由器网络,通过不同服务器构成多个层(就像洋葱)把客户端包在最里面。数据进入网络之前会被加密,因此任何服务器都不能偷取通信数据。另外,虽然每一个服务器的入站和出站通信都可以被查到,但是要想查出通信的真正起点和终点,必须知道整个通信链路上所有服务器的入站和出站通信细节,而这基本是不可能实现的。