scerpy中设置使用user-agent池

什么是UA

UA:User-Agent(请求载体的身份标识)

UA检查:门户网站的服务器会检测对应请求的载体身份标识,如果检测到请求的载体身份标识为某一款浏览器,
说明该请求是一个正常的请求,相反,如果监测到的请求的身份标识不是一个浏览器,则该次请求不正常,服务器端可能会拒绝该次请求。

设置User-Agent,是一种简单的反反爬方式。

为什么要使用UA池

因为有一些网站ua反爬比较严重,所以在这时候要求我们使用不同的ua身份标识进行请求,于是就要使用到ua池。

如何构建UA池

1.

本文注意讲的是在scrapy构建UA池。首先,我们知道user-agent是跟随request请求,发送给服务器的。同时,
我们知道对应scrapy有一个中间组件Downloader Middleware,在该组件中可以对于user-agent,进行修改设置。

2.

在scrapy设置settings中我们发现自带USER_AGENT,通过它我们可以设置ua标识,于是我们可以在此创建一个列表USER_AGENT_LIST,用于存放不同的user-agent。
在这里插入图片描述

3.

那么问题来了,如何获取不同的user-agent呢,我是直接从该网址获取到
http://useragentstring.com/pages/useragentstring.php?name=Chrome
在这里插入图片描述

4.

将网页中的user-agent放入到我们的USER_AGENT_LIST列表当中之后,我们可以通过中间件中的process_request方法,调用USER_AGENT_LIST列表中的user-agent,方法如下
在这里插入图片描述

记得导入USER_AGENT_LIST列表。

from UA.settings import USER_AGENT_LIST
from random import choice

至此,我们在scrapy中使用UA池就成功了。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嚄825

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值