scrapy设置随机请求头的两种方法

scrapy设置随机请求头的两种方法,第1张

需要先导入random模块

然后在meddlewares.py中创建RandomUserAgentMiddleWare()类.重写scrapy内置的UserAgentMiddleware.

需要先导入UserAgent

from fake_useragen timport UserAgent

需要在settings.py中设置

# 用于配置随机user-agent的类型,如果值是random,表示任意随机一个;如果配置的是chrome,则只随机chrome中的user-agent.

RANDOM_UA_TYPE ='chrome'

最后同上面一样需要在settings.py中设置DOWNLOAD_MIDDLEWARES,将系统默认的随机请求头给禁掉,再添加我们自己定义的随机UserAgent

你好,首先你需要一个middlewares.py,如下:

import random

# 导入settings文件中的UAPOOL

from settings import UAPOOL

# 导入官方文档对应的HttpProxyMiddleware

from scrapy.contrib.downloadermiddleware.useragent import UserAgentMiddleware

class Uamid(UserAgentMiddleware):

# 初始化 注意一定要user_agent,不然容易报错

def __init__(self, user_agent=''):

self.user_agent = user_agent

# 请求处理

def process_request(self, request, spider):

# 先随机选择一个用户代理

thisua = random.choice(UAPOOL)

print("当前使用User-Agent是:"+thisua)

request.headers.setdefault('User-Agent',thisua)

在settings.py文件中添加用户UserAgent的信息

# 设置用户代理池,那些动态代理就放到这里了

UAPOOL= [

"Mozilla/5.0 (Windows NT 10.0WOW64rv:52.0) Gecko/20100101 Firefox/52.0",

"Mozilla/5.0 (Windows NT 10.0Win64x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36",

"Mozilla/5.0 (Windows NT 10.0Win64x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.79 Safari/537.36 Edge/14.14393"

]


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/tougao/11221081.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-14
下一篇2023-05-14

发表评论

登录后才能评论

评论列表(0条)

    保存