scrapy爬虫设置随机UA方法

首先配置环境,下载安装fake_useragent包

以BliBli网站为例:

使用scrapy创建爬虫之后找到中间件middlewares.py文件

引入随机useragent包:

from fake_useragent import UserAgent

scrapy爬虫设置随机UA方法_第1张图片

创建一个随机UA类

"""设置随机UA"""


class UseAgentMiddleware(object):
    def __init__(self, user_agent=''):
        self.ua = UserAgent(verify_ssl=False)

    def process_request(self, request, spider):
        print("====UseAgentMiddleware process_request==")
        if self.ua:
            # 显示当前使用的useragent
            print("*************Current UserAgent:%s***************")
            custom_ua = self.ua.data_random
            print("custom_ua:", custom_ua)
            request.headers.setdeffault(b"User-Agent", custom_ua)

scrapy爬虫设置随机UA方法_第2张图片

在setting里进行随机UA的配置:

scrapy爬虫设置随机UA方法_第3张图片

键值对中的键不能随意修改,要对应路径,值300可以随意设置,也可以用333, 543

DOWNLOADER_MIDDLEWARES = {
    'BliBliSpider.middlewares.UserAgentMiddleware': 300,
    'BliBliSpider.middlewares.BliblispiderDownloaderMiddleware': 543,
}

 

你可能感兴趣的:(scrapy爬虫设置随机UA方法)