python3爬虫设置随机的UserAgent

用python3进行网络爬虫工作不可避免面临被系统检测到的风险,为此在使用python程序工作前需要将自身伪装成正常的浏览器对网站进行访问,其中最基础的就是UserAgent的设置,例如:

import requests
# 正常的请求头格式
header = { 'User-Agent': 'Mozilla/5.0 (X11; OpenBSD i386) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36',}
# url 为目标网站的网站 , 需读者自行设置
response = requests.get(url , headers = header)

但同一个User-Agent请求头在短时间对目标网站进行大量的访问,网站的检测程序也很容易对这些请求进行处理,比如限制访问的次数以及访问的速度等等,因此本文的重点就到了,通过设置随机的UserAgent来规避网站的检测机制,方便爬虫的顺利进行,其中python3中有一个很好用的模块——fake_useragent,具体效果在下面演示:

# 导入fake_useragent模块
from fake_useragent import UserAgent
import random

useragent = UserAgent()
header = {
		 'Referer': 'https://www.baidu.com/',
          'User-Agent': useragent.random,}
print(header)

结果如下图所示:

{'Referer': 'https://www.baidu.com/', 
'User-Agent': 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; de-at) AppleWebKit/533.21.1 (KHTML, like Gecko) Version/5.0.5 Safari/533.21.1'}

其中fake_useragent的useragent 池对应是这个网址https://fake-useragent.herokuapp.com/browsers/0.1.11,点开网址可以看到里面有着大量的useragent 代理,函数会选择其中一个进行访问,最终的访问格式可以参考下面的代码:

from fake_useragent import UserAgent
import random
import requests

useragent = UserAgent()
header = {
		 'Referer': 'https://www.baidu.com/',
          'User-Agent': useragent.random,}
# url 请读者根据需求自行添加
response = requests.get(url , headers = header)  
print(response.text)

文章到这里就差不多结束了,最后再告诉各位读者同一个IP在短时间内用不同的useragent对网站进行大量的访问也有可能出现问题,例如网站直接对IP进行限制,这时就是使用代理IP的时候了,这我会在我的下一期进行详细的介绍,喜欢文章的读者可以点点关注哦,我是活动的笑脸。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值