在爬虫中遇到反爬虫真的是家常便饭了,这篇博客我想结合我自己的经验将遇到过的那些问题给出来,并给出一些解决方案。
1、UserAgent
UserAgent的设置能使服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本等信息。对于一些网站来说,它会检查我们发送的请求中所携带的UserAgent字段,如果非浏览器,就会被识别为爬虫,一旦被识别出来, 我们的爬虫也就无法正常爬取数据了。
收集常见的useragent作为配置文件,每次访问的时候取出一个作为头部发送请求,需要注意的是同一个useragent如果访问频率太高也有可能被识别出来而被禁止,因此可以设置随机选取的策略,每一次访问都随机选取一个。此外对于那些支持m端的网站,有时会根据useragent识别是否为移动端,如果是可能会自动跳转到移动端,如果此时你正在爬取的是web端的话就有可能解析出问题,所以需要注意。
我们可以使用第三方库:
from fake_useragent import UserAgent
ua = UserAgent()
print(