Python 使用fake_useragent生成随机User-Agent

大多数情况下,需要设置请求头。而在请求头中,随机更换User-Agent可以避免触发相应的反爬机制。使用第三方库fake-useragent便可轻松生成随机User-Agent。

安装使用

以下简单介绍fake-useragent的安装使用,以及可能出现的问题和解决方法。
安装:

pip install fake-useragent -i https://pypi.doubanio.com/simple

使用:

生成随机的一个User-Agent
from fake_useragent import UserAgent

# 1、随机生成一个User-Agent
ua = UserAgent().random
 
headers = {
   'UserAgent': ua}
生成指定的User-Agent
from fake_useragent import UserAgent

# 2、生成Chrome浏览器的User-Agent
ua = UserAgent().chrome
 
headers = {
   'UserAgent': ua}
# 3、生成Firefox浏览器的User-Agent
ua = UserAgent().firefox
 
headers = {
   'UserAgent': ua}

使用fake-useragent的过程中出现了FakeUserAgentError错误。在搜索到的很多解决方法都无效,包括:

禁用服务器缓存:ua = UserAgent(use_cache_server=False)
不缓存数据:ua = UserAgent(cache=False)
忽略 SSL 验证:ua = UserAgent(verify_ssl=False)
更新fake-useragent:pip install -U fake-useragent

发生异常:
在这里插入图片描述

原因: 下载是版本不一致哦!

问题解决:

1. 查看fake_useragent的安装版本

pip list

在这里插入图片描述

2. 下载fake_useragent.json文件到本地

a. 打开网页:http://fake-useragent.herokuapp.com/browsers/0.1.11

注意:https无法打开,0.1.11是版本号,可以进行修改,从而下载对应版本号的json文件

b. 右击另存为,把文件名改为 fake_useragent_0.1.11.json ,保存类型为所有文件

注意:下载的json文件名后面的版本号要与当前fake_useragent的版本号保持一致,不一样进行修改,否则后面会出错

3. 把fake_useragent_0.1.11.json文件放到指定的目录中

在这里插入图片描述

代码中使用一个:UserAgent(path='./fake_useragent_0.1.11.json')

from fake_useragent import UserAgent
 
ua = UserAgent(path='./fake_useragent_0.1.11.json').random
 
headers = {
   'UserAgent': ua}

相关推荐

  1. Scrapy设置随机User-Agent

    2023-12-29 07:50:03       32 阅读
  2. 【爬虫】在Scrapy中配置随机User-Agent中间件

    2023-12-29 07:50:03       89 阅读
  3. python生成随机字符串

    2023-12-29 07:50:03       31 阅读
  4. Python使用random模块随机生成ip、端口、字符串

    2023-12-29 07:50:03       35 阅读
  5. header中的User-agent

    2023-12-29 07:50:03       53 阅读
  6. 【爬虫】User-Agent反爬虫

    2023-12-29 07:50:03       44 阅读
  7. 如何使用Python中的random模块生成随机数

    2023-12-29 07:50:03       28 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-29 07:50:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-29 07:50:03       101 阅读
  3. 在Django里面运行非项目文件

    2023-12-29 07:50:03       82 阅读
  4. Python语言-面向对象

    2023-12-29 07:50:03       91 阅读

热门阅读

  1. win10 vs c++ 安装vcpkg 类似于pip

    2023-12-29 07:50:03       60 阅读
  2. 案例系列:IBM反洗钱交易数据_GNN节点分类检测

    2023-12-29 07:50:03       43 阅读
  3. 数据库是否可以直接作为数据仓库的数据源

    2023-12-29 07:50:03       53 阅读
  4. Dockerfile: WORKDIR vs VOLUME

    2023-12-29 07:50:03       47 阅读
  5. 今天,你学废了么

    2023-12-29 07:50:03       56 阅读
  6. C++/Qt版餐厅点餐系统模块代码详解

    2023-12-29 07:50:03       61 阅读
  7. 介绍 TensorFlow 的基本概念和使用场景。

    2023-12-29 07:50:03       48 阅读
  8. 【qt】保存debug到log里

    2023-12-29 07:50:03       51 阅读