反爬机制和破解方法汇总
一什么是爬虫和反爬虫?
爬虫:使用任何技术手段,批量获取网站信息的一种方式。
反爬虫:使用任何技术手段,阻止别人批量获取自己网站信息的一种方式。
二 Headers and referer 反爬机制
*headers进行反爬是最常见的反爬虫策略。
*还有一些网站会对 Referer (上级链接)进行检测(机器行为不太可能通过链接跳转实现)
从而实现爬虫。
headers 知识补充***
host:提供了主机名及端口号
Referer 提供给服务器客户端从那个页面链接过来的信息(有些网站会据此来反爬)
Origin:Origin字段里只包含是谁发起的请求,并没有其他信息.(仅存于post请求)
User agent: 发送请求的应用程序名(一些网站会根据UA访问的频率间隔时间进行反爬)
proxies: 代理,一些网站会根据ip访问的频率次数等选择封ip.
cookie: 特定的标记信息,一般可以直接复制,对于一些变化的可以选择构造.
(session=requests.session()自动把cookie信息存入response对象中)
Accept首部为客户端提供了一种将其喜好和能力告知服务器的方式
首部 描述
Accept 告诉服务器能够发送哪些媒体类型
Accept-Charset 告诉服务器能够发送哪些字符集
Accept-Encoding 告诉服务器能够发送哪些编码方式(最常见的是utf-8)
Accept-Language 告诉服务器能够发送哪些语言