from fake_useragent import UserAgent
defget_random_user_agent(path):
res = UserAgent(path=path).random
# print(res)return res
from fictiondemo.utils import get_random_user_agent
classRandomUserAgentMiddleware:@classmethoddeffrom_crawler(cls, crawler):# This method is used by Scrapy to create your spiders.
s = cls()
crawler.signals.connect(s.spider_opened, signal=signals.spider_opened)return s
defprocess_request(self, request, spider):
random_user_agent = get_random_user_agent(path='config/fake_useragent.json')
request.headers['User-Agent']= random_user_agent
returnNonedefprocess_response(self, request, response, spider):return response
defprocess_exception(self, request, exception, spider):passdefspider_opened(self, spider):
spider.logger.info('Spider opened: %s'% spider.name)