1.反爬虫机制
一、IP 封锁网站可以检测请求的IP地址,并封锁那些频繁请求的IP,使其无法访问网站。这是一种常见的反爬虫策略,用于防止单个IP地址对服务器造成过大的负载。
[*]解决办法 : 利用代理IP池以制止IP封锁
// 待补充
二、请求头检测(User-Agent检测)
通过查抄请求头中的User-Agent字段,网站可以识别出请求是否来自常见的欣赏器或是一个主动化脚本。假如User-Agent表明请求来自一个爬虫程序,网站可能会拒绝该请求。
当然可以,以下是对这些常见请求头参数及其常见值的注释说明:
[*] Accept: 指定客户端能够处理和盼望接收的MIME类型。
[*]text/html: 表示客户端可以处理和显示HTML文档。
[*]application/json: 表示客户端期望接收JSON格式的数据。
[*]application/xml: 表示客户端可以处理XML格式的数据。
[*]*/*: 表示客户端可以接受任何类型的数据。
但是在大多数情况下,网站是起到欣赏作用的,所以会直接返回到他的源码。
[*] Accept-Encoding: 客户端支持的内容编码方式。
[*]gzip: 客户端支持gzip压缩算法。
[*]deflate: 客户端支持deflate压缩算法。
[*]br: 客户端支持Brotli压缩算法。
useless
[*] Accept-Language: 客户端盼望接收的语言版本。
[*]en-US: 客户端盼望接收美式英语的内容。
[*]zh-CN: 客户端盼望接收简体中文的内容。
[*]fr: 客户端盼望接收法语的内容。
useless
[*] Cache-Control: 用于指示缓存行为。
[*]no-cache: 不利用当地缓存,须要从服务器重新获取数据。
[*]max-age=0: 缓存的内容立刻逾期,须要重新验证。
[*]no-store: 不存储任何关于客户端请求或服务器响应的缓存信息。
useless
[*] Connection: 控制网络连接的行为。
[*]keep-alive: 保持连接,以便复用TCP连接发送和接收多个HTTP请求和响应。
[*]close: 请求完成后关闭连接。
useless
[*] Content-Type: 请求体的媒体类型(对于POST, PUT等带有请求体的请求)。
[*]application/x-www-form-urlencoded: 发送键值对数据,通常用于HTML表单。
[*]multipart/form-data: 发送复杂的表单数据,如文件上传。
[*]application/json: 发送JSON格式的数据。
useless
[*] Cookie: 客户端存储的Cookie信息,用于服务器识别用户。
[*]session_id=12345; user_id=abc: 示例Cookie值,包罗会话ID和用户ID。
[*] Host: 请求的目标主机名或IP地址。
[*]www.example.com: 目标服务器的域名。
[*] Referer: 表示当前请求是从哪个页面发起的。
[*]http://www.referrer.com/page: 发起请求的源页面URL。
[*] User-Agent: 标识发送请求的客户端信息,如欣赏器版本和操纵体系。
[*]欣赏器标识字符串: 示例为Chrome欣赏器的User-Agent字符串,包罗欣赏器名称、版本和操纵体系信息。
在整个访问头中最重要的内容,在某些反爬网站会利用这一点来判定你是不是利用了爬虫程序举行爬取。
怎样获取当地的User_Agent
https://i-blog.csdnimg.cn/direct/68428676eda34e04899eb0cd82810e6f.png#pic_center
当然即使不利用当地 User_Agent 也是可以的,下面给出两个参考例子
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:129.0) Gecko/20100101 Firefox/129.0
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36 Edg/127.0.0.0
[*]Authorization: 用于API访问或其他须要身份验证的请求的认证信息。
[*]Bearer TOKEN: 利用Bearer令牌举行身份验证,TOKEN是服务器颁发的认证令牌。
解决方式 : 在每次扣问的请求头中更新 User_Agent
验证码与人机验证
当网站检测到非常请求模式时,如频繁的访问或来自同一IP的大量请求,它可能会要求用户输入验证码或通过其他形式的人机验证来确认请求者的身份。这可以有用阻止主动化爬虫,因为它们通常无法处理这种验证过程。
其他
[*]频率限制:
[*]网站可以设置请求频率的限制,以防止爬虫程序对网站举行过度的访问。假如来自同一IP地址或用户的请求超过了设定的阈值,网站可能会暂时或永世地克制该IP或用户的访问。
[*]动态页面加载:
[*]一些网站利用JavaScript等技术动态加载内容。这种技术对于仅支持静态页面抓取的爬虫程序来说是一个挑衅,因为它们无法直接获取到动态加载的内容。
[*]利用robots.txt:
[*]虽然robots.txt文件主要用于引导搜索引擎爬虫的行为,但它也可以作为一种简单的反爬虫机制。通过在该文件中指定不允许爬取的URL或路径,网站可以告知遵守该协议的爬虫程序不要访问这些区域。然而,须要注意的是,并非所有爬虫都会遵守robots.txt的规定。
[*]潜伏链接和元素:
[*]有些网站会利用CSS或JavaScript来潜伏某些链接或页面元素,以防止爬虫程序容易地获取到这些信息。这种方法可以增加爬虫程序的解析难度。
[*]分布式拒绝服务(DDoS)防御机制:
[*]虽然这不是专门针对爬虫的程序,但一些高级的DDoS防御体系可以识别并阻挡非常流量模式,包括来自爬虫程序的流量。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]