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. linux 线程间发送信号

    线程间通过 pthread_kill(thid,signo)给指定的thid线程发送signo信号. 创建线程与线程屏蔽字顺序 1. pthread_create();    pthread_sigm ...

  2. 【ccf- csp201509-4】高速公路

    #include<iostream> using namespace std; void DFS(int**mat, int *mark,int *sp, int n, int p) { ...

  3. [SDOI2010]魔法猪学院(k短路)

    A*板子题.我的code只能在luogu上过,bzoj上RE/MLE不清楚为啥. 蒟蒻到AFO前2个月不到的时间才学A*,A*其实就是bfs过程中进行剪支删除没必要的搜索.然后其实上这样剪支即可:如果 ...

  4. winform 界面加载慢原因分析

    公司新来的开发人员,对winform开发还不是特别精通,在做个性化界面体验的时候容易出现闪烁和加载慢 闪烁的话,通过winform窗体的双缓存来解决在form 窗体中增加如下代码 protected ...

  5. PAT甲级——1036 Boys vs Girls

    1036 Boys vs Girls This time you are asked to tell the difference between the lowest grade of all th ...

  6. 系统学习Javaweb8----JavaScript4(结束)

    学习内容: 1.DOM对象 1.2DOM对象--元素对象常见属性 2.JS事件 2.1JS事件--入门案例 2.2JS事件--驱动机制 2.3常见JS事件--点击事件 2.4常见JS事件--点击事件 ...

  7. 微信公众平台开发2-access_token获取及应用(含源码)

    微信公众平台开发-access_token获取及应用(含源码) 很多系统中都有access_token参数,对于微信公众平台的access_token参数,微信服务器判断该公众平台所拥有的权限,允许或 ...

  8. erp和crm的区别

    CRM(Customer Relationship Management)即客户关系管理.从字面上来看,是指企业用CRM来管理与客户之间的关系.在不同场合下,CRM可能是一个管理学术语,可能是一个软件 ...

  9. TZOJ-STL系列题

    C++实验:STL之vector #include <bits/stdc++.h> using namespace std; void Input(vector<int>&am ...

  10. 微弱信号二次谐波检测的FPGA的实现-总结

    首先还是把握大的系统框架: 我要实现的部分不包括DA以及AD的转换,主要是将SSP接收到的数据送入到FIFO中,然后经过FIR带通滤波器的处理后对该信号计算幅值并做PSD,然后处理的信号经过积分够一方 ...