Scrapy爬虫 -- 编写下载中间件,实现随机User-Agent
2018-09-03 12:26
543 查看
Scrapy爬虫 -- 编写下载中间件,实现随机User-Agent
实现步骤:
1. 在middlewares.p中,新建一个下载中间件;
2. 创建process_request方法(引擎发送request对象到下载器时的回调函数),实现随机User-Agent的功能;
3. 在settings.py文件中,配置新建的下载中间件。
实现随机User-Agent的中间件代码如下:
[code]# middlewares.py import random class RandomUserAgentDownloaderMiddleware(object): """随机user-agent--下载中间件""" def process_request(self, request, spider): first_num = random.randint(55, 62) third_num = random.randint(0, 3200) fourth_num = random.randint(0, 140) os_type = [ '(Windows NT 6.1; WOW64)', '(Windows NT 10.0; WOW64)', '(X11; Linux x86_64)', '(Macintosh; Intel Mac OS X 10_12_6)' ] chrome_version = 'Chrome/{}.0.{}.{}'.format(first_num, third_num, fourth_num) user_agent = ' '.join(['Mozilla/5.0', random.choice(os_type), 'AppleWebKit/537.36', '(KHTML, like Gecko)', chrome_version, 'Safari/537.36'] ) # 把每个request请求都设置为随机user_agent request.headers['User-Agent'] = user_agent return None # 返回值为None, 表示继续请求
阅读更多
相关文章推荐
- Python爬虫从入门到放弃(二十三)之 Scrapy的中间件Downloader Middleware实现User-Agent随机切换
- Scrapy 通过中间件实现随机User-Agent
- 第三百四十七节,Python分布式爬虫打造搜索引擎Scrapy精讲—通过downloadmiddleware中间件全局随机更换user-agent浏览器用户代理
- 在scrapy简单使用代理池和随机的User-Agent
- scrapy_随机user-agent
- Python使用scrapy采集数据时为每个请求随机分配user-agent的方法
- scrapy在爬取网页时使用随机user-agent方法
- 关于设置爬虫随机user-agent的一点尝试
- Scrapy 增加随机请求头 user_agent
- Py之Crawler:爬虫利用随机选取代理访问服务器的方法实现下载某网址上所有的图片到指定文件夹——Jason niu
- Scrapy爬虫框架之使用第三方库fake_useragent实现随机请求头
- scrapy采集数据时为每个请求随机分配user-agent
- scrapy在采集网页时使用随机user-agent的方法
- scrapy随机更改User-Agent方法
- 第三百四十八节,Python分布式爬虫打造搜索引擎Scrapy精讲—通过自定义中间件全局随机更换代理IP
- 浏览器User Agent Switcher Options实现模拟浏览器 附(UA下载)
- Python爬虫小技巧之伪造随机的User-Agent
- Scrapy在采集网页时使用随机user-agent
- scrapy,添加随机代理ip和user-agent
- scrapy进阶:防ban策略之随机user-agent,from_crawler等小技巧