scrapy在爬取网页时使用随机user-agent方法
来源:互联网 发布:奥卡福 知乎 编辑:程序博客网 时间:2024/05/16 00:43
转载
默认情况下scrapy采集时只能使用一种user-agent,这样容易被网站屏蔽,下面的代码可以从预先定义的user-agent的列表中随机选择一个来采集不同的页面
在settings.py中添加以下代码
DOWNLOADER_MIDDLEWARES = { 'scrapy.contrib.downloadermiddleware.useragent.UserAgentMiddleware' : None, 'Crawler.comm.rotate_useragent.RotateUserAgentMiddleware' :400 }
注意: Crawler 是你项目的名字 ,通过它是一个目录的名称 下面是蜘蛛的代码
#!/usr/bin/python#-*-coding:utf-8-*-import randomfrom scrapy.contrib.downloadermiddleware.useragent import UserAgentMiddlewareclass RotateUserAgentMiddleware(UserAgentMiddleware): def __init__(self, user_agent=''): self.user_agent = user_agent def process_request(self, request, spider): #这句话用于随机选择user-agent ua = random.choice(self.user_agent_list) if ua: request.headers.setdefault('User-Agent', ua) #the default user_agent_list composes chrome,I E,firefox,Mozilla,opera,netscape user_agent_list = [\ "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/22.0.1207.1 Safari/537.1"\ "Mozilla/5.0 (X11; CrOS i686 2268.111.0) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.57 Safari/536.11",\ "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.6 (KHTML, like Gecko) Chrome/20.0.1092.0 Safari/536.6",\ "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.6 (KHTML, like Gecko) Chrome/20.0.1090.0 Safari/536.6",\ "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/19.77.34.5 Safari/537.1",\ "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.9 Safari/536.5",\ "Mozilla/5.0 (Windows NT 6.0) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.36 Safari/536.5",\ "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1063.0 Safari/536.3",\ "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1063.0 Safari/536.3",\ "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_0) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1063.0 Safari/536.3",\ "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1062.0 Safari/536.3",\ "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1062.0 Safari/536.3",\ "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.1 Safari/536.3",\ "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.1 Safari/536.3",\ "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.1 Safari/536.3",\ "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.0 Safari/536.3",\ "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.24 (KHTML, like Gecko) Chrome/19.0.1055.1 Safari/535.24",\ "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/535.24 (KHTML, like Gecko) Chrome/19.0.1055.1 Safari/535.24" ]
0 0
- scrapy在爬取网页时使用随机user-agent方法
- Scrapy在采集网页时使用随机user-agent
- scrapy在采集网页时使用随机user-agent的方法
- python scrapy 之 随机选择user-agent
- Scrapy 通过中间件实现随机User-Agent
- scrapy采集数据时为每个请求随机分配user-agent
- 使用Scrapy递归爬取网页
- scrapy User Agent切换的两种方法
- scrapy防禁止 设置user-agent的方法
- scrapy修改user-agent的几种方法
- python3 网络爬虫(五)scrapy中使用User-Agent
- scrapy使用random user-agent的两种方式
- Scrapy命令 和 User Agent
- scrapy之user-agent池
- scrapy爬取使用jsonp技术的网页
- 工具------随机获取User-Agent
- scrapy 爬取https网页时出现ssl错误
- scrapy 爬取https网页时出现ssl错误
- ViewController的生命周期分析和使用
- Android学习笔记之——Spinner
- 类与类之间的关系
- Photoshop的动作
- ActiveMQ 即时通讯服务 浅析
- scrapy在爬取网页时使用随机user-agent方法
- Ubuntu14.04 下 OpenCV3 安装
- 大米时代教育平台4.0结项总结
- hdu1573(中国剩余定理定解的个数)
- 系统密码修改,SQLServer启动失败
- eclipse 加载xml头文件的xsd
- 为什么要重写hashcode()方法和equals()方法?
- STM32 AM2305高精度温湿度传感器驱动
- Android学习笔记之——GridView