随机请求User-Agent

fake-useragent

python安装

pip install fake-useragent

使用方法:

from fake_useragent import UserAgent
ua = UserAgent()

ua.ie
# Mozilla/5.0 (Windows; U; MSIE 9.0; Windows NT 9.0; en-US);
ua.msie
# Mozilla/5.0 (compatible; MSIE 10.0; Macintosh; Intel Mac OS X 10_7_3; Trident/6.0)'
ua['Internet Explorer']
# Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; GTB7.4; InfoPath.2; SV1; .NET CLR 3.3.69573; WOW64; en-US)
ua.opera
# Opera/9.80 (X11; Linux i686; U; ru) Presto/2.8.131 Version/11.11
ua.chrome
# Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.2 (KHTML, like Gecko) Chrome/22.0.1216.0 Safari/537.2'
ua.google
# Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/537.13 (KHTML, like Gecko) Chrome/24.0.1290.1 Safari/537.13
ua['google chrome']
# Mozilla/5.0 (X11; CrOS i686 2268.111.0) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.57 Safari/536.11
ua.firefox
# Mozilla/5.0 (Windows NT 6.2; Win64; x64; rv:16.0.1) Gecko/20121011 Firefox/16.0.1
ua.ff
# Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:15.0) Gecko/20100101 Firefox/15.0.1
ua.safari
# Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5355d Safari/8536.25

# and the best one, random via real world browser usage statistic
ua.random

传送门:https://github.com/hellysmile/fake-useragent 

 

### 实现随机切换HTTP请求头中的User-Agent 为了在Python中实现随机更换HTTP请求头中的`User-Agent`,可以利用`fake-useragent`库来简化操作。此方法不仅能够有效防止被目标网站识别为自动化程序,还能增强爬虫的隐蔽性和成功率。 安装所需的库可以通过命令行执行: ```bash pip install fake-useragent ``` 一旦完成依赖项的安装,在实际应用过程中就可以按照如下方式进行编码[^5]。 对于简单的HTTP GET请求而言,可以直接引入并配置`UserAgent()`对象用于生成随机化的`User-Agent`字符串,并将其加入到请求头部信息之中[^1]。 ```python from urllib.request import Request, urlopen from fake_useragent import UserAgent ua = UserAgent() req = Request('https://example.com') req.add_header("User-Agent", ua.random) response = urlopen(req) html = response.read().decode('utf8') print(html) ``` 当涉及到更复杂的场景比如Selenium WebDriver控制下的浏览器自动化测试时,则可以在启动浏览器实例之前通过选项参数指定随机产生的`User-Agent`值[^3]。 ```python import time from selenium import webdriver from fake_useragent import UserAgent ua = UserAgent() chrome_options = webdriver.ChromeOptions() chrome_options.add_argument(f'user-agent={ua.random}') driver = webdriver.Chrome(options=chrome_options) try: driver.get("https://httpbin.org/user-agent") time.sleep(2) # 等待页面加载完毕 finally: driver.quit() ``` 值得注意的是,虽然可以在单个脚本内部处理每一次发出请求前更改`User-Agent`的行为,但从设计模式的角度考虑,建议采用更加模块化的方式——创建自定义下载中间件来进行统一管理和调度,从而提升代码可读性与维护效率[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值