关于python爬虫的ua设置

无论使用requests还是httpx其实不设置ua也是可以跑的,只不过跑的时候是默认的ua,但是对于一些设置了防火墙或者有防御性质的cdn来说,默认的ua是肯定进不去的。所以我们今天来聊聊关于爬虫的ua的设置问题。

ua全名是user-agent,其实就是我们常说的协议头。
比如百度spider的ua就是:Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)
常见的浏览器ua是:Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36

常规来说如果我们爬虫不是很频繁,那我们可以将ua设置成固定的常见浏览器ua就可以避过站长的巡查,但是如果频繁,站长可能为了保证服务器正常运行,还是有可能将我们的ip和ua禁掉的。

ip被禁我们就不聊了,可以直接用代理解决,但是ua怎么办?
推荐个库faker,这个库其实就是个协议头合集,我们通过设置可以每次变换一个ua,这样配合代理就不可能将我们所有的爬虫都封掉了。

代码如下:

from faker import Faker
uas = Faker()
ua=uas.user_agent()

ua=uas.user_agent()为获取随机ua的代码,将这行放到get请求前,然后替换headers中的ua就好。

演示代码:

import requests
from faker import Faker
uas = Faker()
links = ['','','']

for url in links:
	ua=uas.user_agent()
	headers = {'user-agent': ua}
	res=requests.get(url,headers=headers,proxies=proxies)
	r=res.text

这样就可以实现每次请求ip和ua都不同,从而避免被封的问题

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值