
然后在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"
]
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)