Python爬虫:scrapy防止爬虫被禁的策略
2023-09-14 09:07:14 时间
爬虫策略:
1、动态User-Agent
(随机切换User-Agent,模拟不同用户的浏览器信息),使用中间件
class RandomUserAgentMiddleware(object):
def process_request(self, request, spider):
request.headers.setdefault('User-Agent', "xxx")
2、禁用Cookies
(也就是不启用cookies middleware,不向Server发送cookies,有些网站通过cookie的使用发现爬虫行为)可以通过COOKIES_ENABLED 控制 CookiesMiddleware 开启或关闭
# 禁用cookies,防止某些网站根据Cookie来封锁爬虫。
COOKIES_ENABLED = False
3、 延迟下载
(防止访问过于频繁,设置为 2秒 或更高)
# 设置下载延迟
DOWNLOAD_DELAY = 3
4、 缓存数据
Google Cache 和 Baidu Cache:如果可能的话,使用谷歌/百度等搜索引擎服务器页面缓存获取页面数据。
5、IP地址池
:VPN和代理IP,现在大部分网站都是根据IP来ban的。
class RandomProxyMiddleware(object):
def process_request(self, request, spider):
request.meta["proxy"] = "127.0.0.1:8888"
6、 Crawlera
(专用于爬虫的代理组件),正确配置和设置下载中间件后,项目所有的request都是通过crawlera发出。
DOWNLOADER_MIDDLEWARES = {
'scrapy_crawlera.CrawleraMiddleware': 600
}
CRAWLERA_ENABLED = True
CRAWLERA_USER = '注册/购买的UserKey'
CRAWLERA_PASS = '注册/购买的Password'
参考
相关文章
- 第三百六十节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)的基本概念
- 第三百五十六节,Python分布式爬虫打造搜索引擎Scrapy精讲—scrapy分布式爬虫要点
- 第三百四十四节,Python分布式爬虫打造搜索引擎Scrapy精讲—craw母版l创建自动爬虫文件—以及 scrapy item loader机制
- 第三百四十二节,Python分布式爬虫打造搜索引擎Scrapy精讲—爬虫数据保存
- 第三百四十节,Python分布式爬虫打造搜索引擎Scrapy精讲—css选择器
- 第三百三十九节,Python分布式爬虫打造搜索引擎Scrapy精讲—Scrapy启动文件的配置—xpath表达式
- Python 网页爬虫 & 文本处理 & 科学计算 & 机器学习 & 数据挖掘兵器谱(转)
- 小白学 Python 爬虫(16):urllib 实战之爬取妹子图
- 13天搞定python分布式爬虫(视频+项目双管齐下)
- Python爬虫基础:scrapy 框架结构及scrapy.Spider
- python爬虫面试总结
- python爬虫:scrapy框架xpath和css选择器语法
- Python爬虫:scrapy管理服务器返回的cookie
- Python爬虫:scrapy辅助功能实用函数
- Python爬虫入门之爬虫解析提取数据的四种方法
- python爬虫(一)入门常见错误集合
- 看完这个,还不会【Python爬虫环境】,请你吃瓜
- 从零开始,学会Python爬虫不再难!!! -- (14)Scrapy框架丨蓄力计划