1. UserAgent 模块使用

from fake_useragent import UserAgent

ua = UserAgent()  # 实例化,实例化时需要联网但是网站不太稳定

print(ua.ie)       # 随机打印一个 ie 浏览器的头
print(ua.random) # 随机打印 User-Agent

2. 模块下载

pip install fake-useragent

3. 查看 fake-useragent 模块下载 User-Agent 的下载地址

下载地址:
http://d2g6u4gh6d9rq0.cloudfront.net/browsers/fake_useragent_0.1.10.json 最后的 fake_useragent_0.1.10.json 中的 0.1.10 指的是版本 查看版本
https://pypi.org/project/fake-useragent/
// 也是模块,文档

4. 查看 fake-useragent 模块下载 User-Agent 的下载地址

下载地址:
http://d2g6u4gh6d9rq0.cloudfront.net/browsers/fake_useragent_0.1.10.json 最后的 fake_useragent_0.1.10.json 中的 0.1.10 指的是版本 查看版本
https://pypi.org/project/fake-useragent/
// 也是模块,文档

如何查看:

F:\pyenv\pa_chong_env\Lib\site-packages\fake_useragent\settings.py

就在 模块的 fake_useragent 的配置文件settings.py 文件中

5. 将User-Agent 全部下载

5.1. 下载

import requests

url = "http://d2g6u4gh6d9rq0.cloudfront.net/browsers/fake_useragent_0.1.10.json"

response = requests.get(url)

with open("user_agent.json", 'w') as fp:
fp.write(response.text)

5.2. 封装一个随机类

从文件中筛选出指定的值

import json
import random class User_Agent(object):
"""
直接将 网页的源码复制下载之后, 可以使用此类进行解析
self.user_agent_data 是 读取 文件的,
"""
def __init__(self, json_file="user_agent.json"):
"""
:param json_file: 下载后内容保存的文件
"""
self.json_file = json_file
self.ua_data = self.user_agent_data().get("browsers")
self.b = ['chrome', 'opera', 'firefox', 'safari', 'internetexplorer']
# -------
self.chrome = lambda: random.choice(self.ua_data.get("chrome"))
self.opera = lambda: random.choice(self.ua_data.get("opera"))
self.firefox = lambda: random.choice(self.ua_data.get("firefox"))
self.safari = lambda: random.choice(self.ua_data.get("safari"))
self.ie = lambda: random.choice(self.ua_data.get("internetexplorer"))
self.random = lambda: random.choice(self.ua_data.get(random.choice(self.b))) def user_agent_data(self):
with open(self.json_file, "r") as fp:
data = fp.read()
return json.loads(data) ua = User_Agent() for i in range(10):
print(ua.random())

python fake_useragent模块 user-agent的获取的更多相关文章

  1. python-网络安全编程第十天(web目录扫描&&fake_useragent模块&&optionParser模块)

    前言 昨天的内容没有完成今天花了点时间继续完成了 感觉自己的学习效率太低了!想办法提高学习效率吧 嗯 ,再制定下今天的目标 开始健身. python fake_useragent模块 1.UserAg ...

  2. Python tldextract模块准确获取域名和后缀

    Python tldextract 模块 - 功能说明 tldextract准确地从URL的域名和子域名分离通用顶级域名或国家顶级域名. 例如,http://www.google.com,你只想取出连 ...

  3. Python(phone)模块获取手机号归属地、区号、运营商等

    Python(phone)模块获取手机号归属地.区号.运营商等 一.我使用的是python3,可以自行搜索下载 二.安装phone模块, pip install phone 三.测试代码如下: fro ...

  4. python xlrd 模块(获取Excel表中数据)

    python xlrd 模块(获取Excel表中数据) 一.安装xlrd模块   到python官网下载http://pypi.python.org/pypi/xlrd模块安装,前提是已经安装了pyt ...

  5. Python标准模块--threading

    1 模块简介 threading模块在Python1.5.2中首次引入,是低级thread模块的一个增强版.threading模块让线程使用起来更加容易,允许程序同一时间运行多个操作. 不过请注意,P ...

  6. python基础-模块

    一.模块介绍                                                                                              ...

  7. Python Paramiko模块与MySQL数据库操作

    Paramiko模块批量管理:通过调用ssh协议进行远程机器的批量命令执行. 要使用paramiko模块那就必须先安装这个第三方模块,仅需要在本地上安装相应的软件(python以及PyCrypto), ...

  8. Python常用模块之sys

    Python常用模块之sys sys模块提供了一系列有关Python运行环境的变量和函数. 常见用法 sys.argv 可以用sys.argv获取当前正在执行的命令行参数的参数列表(list). 变量 ...

  9. Python time模块学习

    Python time模块提供了一些用于管理时间和日期的C库函数,由于它绑定到底层C实现,因此一些细节会基于具体的平台. 一.壁挂钟时间 1.time() time模块的核心函数time(),它返回纪 ...

随机推荐

  1. Haploid inheritance|Hardy-Weinberg proportions|

    I.2 Haploid inheritance 单倍体也有短暂的二倍体时期: Meiosis:减数分裂 依据图示信息,同时基因型A的频率是p,基因型a的频率是(1-p): 建立Hardy-Weinbe ...

  2. fatal: remote origin already exists.

    解决方法: 先删除, 再添加 1. git remote rm origin 2. git remote add origin https://github.com/zjulanjian/eshop. ...

  3. Opencv笔记(四)——绘图函数

    常用的绘图函数有: cv2.line()       cv2.circle()        cv2.rectangle()      cv2.ellipse()       cv2.putText( ...

  4. learning Perl:91行有啥用? 88 print "\n----------------------------------_matching_multiple-line_text--------------------------\n"; 91 my $lines = join '', <FILE>;

    89 open FILE, "< file_4_ex_ch7.txt"     90     or die "cannot open file: $!"; ...

  5. redis 的雪崩和穿透?

    https://blog.csdn.net/Aria_Miazzy/article/details/88066975

  6. poj 2342树形dp板子题1

    http://poj.org/problem?id=2342 #include<iostream> #include<cstdio> #include<cstring&g ...

  7. VMware 三种网络配置解释

    https://blog.csdn.net/noob_f/article/details/51099040 ifconfig -a 网卡名称

  8. VB6实现Excel多工作簿数据合并

    以前的同事,工作需要,让我帮忙完成多个工作簿的汇总. 我就用最熟悉的VB6写了一个Form应用程序,这是因为我不知道她目前的系统和Office情况,如果太高大上了,她不会部署安装.索性就简单粗暴地来个 ...

  9. PLC常见四大故障及其处理方法

    众所周知,PLC即可编程控制器,是一种专门为在工业环境下应用而设计的数字运算操作的电子装置. 但PLC在运行中总是会出现一些故障问题,下面就为大家介绍一下PLC常见四大故障及其处理方法 PLC常见四大 ...

  10. 整合SSM遇到的错误,数据库连接失败问题集合

    Could not get JDBC Connection; nested exception is java.sql.SQLException: Connections could not be a ...