Scrapy 使用随机 User-Agent

本文探讨了Scrapy框架下USER_AGENT的两种不同设置方式及其效果对比。一种是直接设置默认USER_AGENT,另一种是通过自定义中间件实现随机USER_AGENT。文中详细解释了中间件优先级对USER_AGENT的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

情况一:设置默认USER_AGENT ,不开启DOWNLOADER_MIDDLEWARES
结果默认使用USER_AGENT = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.2pre) Gecko/20070215 K-Ninja/2.1.1"代理
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
情况二:开启DOWNLOADER_MIDDLEWARES,使用自定义RandomUserAgentMiddleware,数值为1000。
结果默认使用USER_AGENT = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.2pre) Gecko/20070215 K-Ninja/2.1.1"代理
原因:DOWNLOADER_MIDDLEWARES_BASE 与DOWNLOADER_MIDDLEWARES混用时,谁数值越小,谁优先执行
(1000时稳定使用USER_AGENT = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.2pre) Gecko/20070215 K-Ninja/2.1.1"代理,但401之类比较接近的数值,会使用随机代理,原因不明,以后探究)

'scrapy.downloadermiddlewares.useragent.UserAgentMiddleware': 400
优先执行顺序大于
'ImgCrawler.middlewares.RandomUserAgentMiddleware': 1000,

在这里插入图片描述

在这里插入图片描述

正确情况:
settings设置:
在这里插入图片描述
在这里插入图片描述
middlewares设置:
在这里插入图片描述
spider测试:
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值