scrapy_随机user-agent
2017-08-15 21:53
246 查看
什么是user-agent?
用户代理,服务器识别用户的操作系统,浏览器类型和渲染引擎,不同浏览器的user-agent是不同的
如何随机更改user-agent?
1. 在setting中添加user-agent列表
2. 在download_middleware中导入user-agent列表,每次列表中取得一个值
3. setting中注册download_middleware,把原生的置为None
download_middleware类有什么用?
他是介于request和response中的钩子框架,用来全局修改request和response
还有哪些更改随机user-agent方法?
scrapy-fake-useragent -- Githup直接搜索
用户代理,服务器识别用户的操作系统,浏览器类型和渲染引擎,不同浏览器的user-agent是不同的
如何随机更改user-agent?
1. 在setting中添加user-agent列表
# setting: # 随机更换user-agent # USER_AGENT_LIST = ['zspider/0.9-dev http://feedback.redkolibri.com/', # 'Xaldon_WebSpider/2.0.b1', # 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) Speedy Spider (http://www.entireweb.com/about/search_tech/speedy_spider/)', # 'Mozilla/5.0 (compatible; Speedy Spider; http://www.entireweb.com/about/search_tech/speedy_spider/)', # 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0) AddSugarSpiderBot www.idealobserver.com', # ]
2. 在download_middleware中导入user-agent列表,每次列表中取得一个值
__author__ = 'beimenchuixue' __blog__ = 'http://www.cnblogs.com/2bjiujiu/' from random import choice class RandomUserAgentMiddleware(object): def __init__(self, agent_list): super(RandomUserAgentMiddleware, self).__init__() self.agent_list = agent_list @classmethod def from_crawler(cls, crawler): # 获取USER_AGENT_LIST列表 o = crawler.settings['USER_AGENT_LIST'] return cls(o) def process_request(self, request, spider): if self.agent_list: # 随机取得一个值 random_user_agent = choice(self.agent_list) # 设置User-Agent值 request.headers.setdefault(b'User-Agent', random_user_agent)
3. setting中注册download_middleware,把原生的置为None
DOWNLOADER_MIDDLEWARES = { 'scrapy.downloadermiddlewares.useragent.UserAgentMiddleware': None, 'JobBole.middlewares.RandomUserAgentMiddleware': 400, }
download_middleware类有什么用?
他是介于request和response中的钩子框架,用来全局修改request和response
还有哪些更改随机user-agent方法?
scrapy-fake-useragent -- Githup直接搜索
相关文章推荐
- python scrapy 之 随机选择user-agent
- Python使用scrapy采集数据时为每个请求随机分配user-agent的方法
- Scrapy增加随机请求头user_agent
- scrapy在采集网页时使用随机user-agent的方法
- scrapy进阶:防ban策略之随机user-agent,from_crawler等小技巧
- Scrapy在采集网页时使用随机user-agent
- Scrapy 增加随机请求头 user_agent
- 第三百四十七节,Python分布式爬虫打造搜索引擎Scrapy精讲—通过downloadmiddleware中间件全局随机更换user-agent浏览器用户代理
- Python爬虫从入门到放弃(二十三)之 Scrapy的中间件Downloader Middleware实现User-Agent随机切换
- scrapy,添加随机代理ip和user-agent
- scrapy采集数据时为每个请求随机分配user-agent
- Scrapy学习篇(十一)之设置随机User-Agent
- 在scrapy简单使用代理池和随机的User-Agent
- scrapy在爬取网页时使用随机user-agent方法
- scrapy随机更改User-Agent方法
- Scrapy 通过中间件实现随机User-Agent
- scrapy修改user-agent的几种方法
- Python爬虫小技巧之伪造随机的User-Agent
- 关于设置爬虫随机user-agent的一点尝试
- scrapy User Agent切换的两种方法