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. Codeforces1304D Shortest and Longest LIS

    前置扯淡 %%@\(wucstido\),思路是在是巧妙---link Description 给一个长度为\(n\)由 \(<\) 和 \(>\)组成的字符串,表示序列中相邻位置的数的大 ...

  2. mock简单的json返回

    针对非常简单的json返回串,我们也不一定非得通过freemarker模板的方式来构造返回数据,这里看实际的需求,如果返回的内容是固定的,而且json又非常简单,我们也可以直接写在程序里面,下面的接口 ...

  3. mediawiki问题

    部分内容参考 http://blog.csdn.net/gaogao0603/article/details/7689670 1.启用文件上传:在LocalSettings.php修改或者增加如下:$ ...

  4. CGLIB原理及实现机制

    https://blog.csdn.net/gyshun/article/details/81000997

  5. iOS漂亮的Toolbar动画、仿美团主页、简易笔记本、流失布局、标签分组等源码

    iOS精选源码 JPLiquidLayout 简单易用的流式布局 labelGroupAndStreamSwift---标签分组,单选,多选 iOS采用UITableView和UIScrollView ...

  6. 1)session总结

    (1)session的由来: HTTP协议是一种无状态协议,服务器响应完之后就失去了与浏览器的联系,最早,Netscape将cookie引入浏览器,使得数据可以客户端跨页面交换,那么服务器是如何记住众 ...

  7. Java虚拟机内存划分

    Java虚拟机在执行Java程序时,会把它管理的内存划分为若干个不同的数据区.这些区域有不同的特性,起不同的作用.它们有各自的创建时间,销毁时间.有的区域随着进程的启动而创建,随着进程结束而销毁,有的 ...

  8. 学习python-20191217(1)-Python Flask高级编程开发鱼书_第04章_应用、蓝图与视图函数

    视频01: flask框架:最上层是app,它就像一个插线板一样,比如可以插入蓝图,还可以插入其他各种flask插件. 每个蓝图又可以插入很多视图函数,并可指定静态文件夹和模板文件夹. 好的代码结构, ...

  9. Longest Increasing Subsequence (Medium)

    第一次做题思路201511092250 1.采用map存储,key为nums[i],value为以nums[i]为结尾的最大递增子序列的长度 2.采用map里面的lower_bounder函数直接找出 ...

  10. hashCode() 和 equals()比较

    1. 首先equals()和hashCode()这两个方法都是从Object类中继承过来的. equals()方法在Object类中定义如下: public boolean equals(Object ...