网站反爬虫的原因
- 不遵守规范的爬虫会影响网站的正常使用
- 网站上的数据是公司的重要资产
- 爬虫对网站的爬取会造成网站统计数据的污染
常见反爬虫手段
- 根据 IP 访问频率封禁 IP
- 设置账号登陆时长,账号访问过多封禁
- 设置账号的登录限制,只有登录才能展现内容
- 设置账号登录的时长,时间一到则自动退出
- 弹出数字验证码和图片确认验证码
- 爬虫访问次数过多,弹出验证码要求输入
- 对 API 接口的限制
- 每天限制一个登录账户后端 api 接口的调用次数
- 对后台 api 返回信息进行加密处理
反反爬的策略
- 反反爬的总体思想
- 将爬虫伪装成自然人的浏览行为
- 自然人浏览的特点
- 访问频率不会非常的高
- 使用的是浏览器进行访问
- 网站设置登录要求后仍能正常使用
- 可以完成验证操作
- Scrapy 反反爬功能的实现
- 爬虫配置 settings.py
- 爬虫框架中间件
反反爬的手段
- 模拟自然人访问频率
- 配置 settings.py 控制爬虫爬取行为
-
配置 默认值 说明 DOWNLOAD_DELAY 0 单位秒
爬取间隔时间为(0.5~1.5)*DOWNLOAD_DELAY
CONCURRENT_REQUESTS 16 Scrapy downloader 并发请求的最大值 CONCURRENT_REQUESTS_PER_DOMAIN 16 对单个网站进行并发请求的最大值 CONCURRENT_REQUESTS_PER_IP 0 对单个 IP 进行并发请求的最大值
- 设置代理 IP
- 设置随机 ua
来源:oschina
链接:https://my.oschina.net/u/4364035/blog/3362971