1 反爬虫技术及突破措施
1.1 降低请求频率
降低请求频率以模仿人类用户,而不是机器。
settings.py中设置DOWNLOAD_DELAY即可
# 即两次请求间隔为 3 秒
DOWNLOAD_DELAY = 3
另外,为了防止请求过于规律,可以使用RANDOMIZE_DOWNLOAD_DELAY设置一个介于0.5* DOWNLOAD_DELAY和1.5 *DOWNLOAD_DELAY之间的随机延迟时间。
RANDOMIZE_DOWNLOAD_DELAY = TRUE
1.2 修改请求头
伪装用户进行爬虫时,一定不要忘记设置请求头以表示自己是人形用户。特别是警觉性比较高的网站,请求头的信息可能比较特殊。
1.3 禁用 cookie
如果不是特殊需求(如模拟登录),最好禁用 cookie,以使网站不能通过 cookie 侦测到爬虫。在配置文件settings.py中将COOKIES_ENABLED设置为False即可(默认是True)
COOKIES_ENABLED = False
1.4 伪装成随机浏览器
1.5 更换 IP 地址
2 伪装成随机浏览器
Scrapy自带有专门设置User-Agent的中间件UserAgentMiddleware,在爬虫运行时,会自动将User-Agent添加到HTTP请求中,并且