scrapy——中间件UserAgent代理
pip install fake-useragent
使用说明:
from fake_useragent import UserAgent
# 实例化一个UserAgent对象
ua = UserAgent()
# 调用相应的浏览器类型属性就可以生成相应的User-Agent
ua.chrome
ua.firefox
ua.ie
ua.random
在scrapy下载中间件中设置自动切换指定类型User-Agent代理
from fake_useragent import UserAgent
from .settings import USER_AGETN_TYPE
class RandomUserAgentMiddleware(object):
# 随机更换User-Agent
def __init__(self):
super(RandomUserAgentMiddleware, self).__init__()
self.ua = UserAgent()
self.ua_type = USER_AGENT_TYPE # 在settings中配置指定的ua类型:USER_AGETN_TYPE = 'chrome',任何想要的类型都可以,也可以是随机类型random
def process_request(self, request, spider):
def get_ua():
return getattr(self.ua, self.ua_type)
if get_ua():
request.headers.setdefault('User-Agent', get_ua())