scrapy防禁止 设置user-agent的方法



User Agent轮换例子

1)新建一个middlewares.py文件,内容如下,文件放在与items.py, settings.py所在的文件夹下。

[html]  view plain  copy
  1. #!/usr/bin/python  
  2. #-*-coding:utf-8-*-  
  3.   
  4. import random  
  5. from scrapy.downloadermiddlewares.useragent import UserAgentMiddleware  
  6.   
  7. class RotateUserAgentMiddleware(UserAgentMiddleware):  
  8.     def __init__(self, user_agent=''):  
  9.         self.user_agent = user_agent  
  10.   
  11.     def process_request(self, request, spider):  
  12.         ua = random.choice(self.user_agent_list)  
  13.         if ua:  
  14.             print ua, '-----------------yyyyyyyyyyyyyyyyyyyyyyyyy'  
  15.             request.headers.setdefault('User-Agent', ua)  
  16.   
  17.     #the default user_agent_list composes chrome,I E,firefox,Mozilla,opera,netscape  
  18.     #for more user agent strings,you can find it in http://www.useragentstring.com/pages/useragentstring.php  
  19.     user_agent_list = [\  
  20.         "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/22.0.1207.1 Safari/537.1"\  
  21.         "Mozilla/5.0 (X11; CrOS i686 2268.111.0) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.57 Safari/536.11",\  
  22.         "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.6 (KHTML, like Gecko) Chrome/20.0.1092.0 Safari/536.6",\  
  23.         "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.6 (KHTML, like Gecko) Chrome/20.0.1090.0 Safari/536.6",\  
  24.         "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/19.77.34.5 Safari/537.1",\  
  25.         "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.9 Safari/536.5",\  
  26.         "Mozilla/5.0 (Windows NT 6.0) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.36 Safari/536.5",\  
  27.         "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1063.0 Safari/536.3",\  
  28.         "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1063.0 Safari/536.3",\  
  29.         "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",\  
  30.         "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1062.0 Safari/536.3",\  
  31.         "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1062.0 Safari/536.3",\  
  32.         "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.1 Safari/536.3",\  
  33.         "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.1 Safari/536.3",\  
  34.         "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.1 Safari/536.3",\  
  35.         "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.0 Safari/536.3",\  
  36.         "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.24 (KHTML, like Gecko) Chrome/19.0.1055.1 Safari/535.24",\  
  37.         "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/535.24 (KHTML, like Gecko) Chrome/19.0.1055.1 Safari/535.24"  
  38.        ]  
2) 然后在settings.py中按如下设置

[html]  view plain  copy
  1. DOWNLOADER_MIDDLEWARES = {  
  2.     'scrapy.downloadermiddlewares.useragent.UserAgentMiddleware':None,  
  3.     'aa.middlewares.RotateUserAgentMiddleware':400,  
  4. }  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值