使用:
pip install fake-useragent
- 1 在scrapy框架中使用:
- middleware中间件中配置
from fake_useragent import UserAgent
class RandomUserAgentMiddleware(object):
# 随机更换ua
def __init__(self,crawler):
super(RandomUserAgentMiddleware,self).__init__()
self.ua = UserAgent()
self.ua_type = crawler.settings.get("RANDOM_UA_TYPE","random") #为了随机获得浏览器类型
@classmethod
def from_crawler(cls,crawler):
return cls(crawler) ##导入crawler,从而获取其他的配置文件里的数据
def process_request(self,request,spider):
def get_ua():
return getattr(self.ua,self.ua_type) ##获取ua的ua_type属性,也就是获得random
request.headers.setdefault('User-Agent',get_ua())
- 在settings中设置
RANDOM_UA_TYPE= 'random'
- 在download中设置
DOWNLOADER_MIDDLEWARES = {
# 'lagou.middlewares.LagouDownloaderMiddleware': 543,
'lagou.middlewares.ProxyMiddleware': 543,
'lagou.middlewares.RandomUserAgentMiddleware': 544,
}
- 不在框架中使用
from fake_useragent import UserAgent
ua = UserAgent()
headers = {'User-Agent':ua.random}