python fake_useragent模块 user-agent的获取
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的获取的更多相关文章
- python-网络安全编程第十天(web目录扫描&&fake_useragent模块&&optionParser模块)
前言 昨天的内容没有完成今天花了点时间继续完成了 感觉自己的学习效率太低了!想办法提高学习效率吧 嗯 ,再制定下今天的目标 开始健身. python fake_useragent模块 1.UserAg ...
- Python tldextract模块准确获取域名和后缀
Python tldextract 模块 - 功能说明 tldextract准确地从URL的域名和子域名分离通用顶级域名或国家顶级域名. 例如,http://www.google.com,你只想取出连 ...
- Python(phone)模块获取手机号归属地、区号、运营商等
Python(phone)模块获取手机号归属地.区号.运营商等 一.我使用的是python3,可以自行搜索下载 二.安装phone模块, pip install phone 三.测试代码如下: fro ...
- python xlrd 模块(获取Excel表中数据)
python xlrd 模块(获取Excel表中数据) 一.安装xlrd模块 到python官网下载http://pypi.python.org/pypi/xlrd模块安装,前提是已经安装了pyt ...
- Python标准模块--threading
1 模块简介 threading模块在Python1.5.2中首次引入,是低级thread模块的一个增强版.threading模块让线程使用起来更加容易,允许程序同一时间运行多个操作. 不过请注意,P ...
- python基础-模块
一.模块介绍 ...
- Python Paramiko模块与MySQL数据库操作
Paramiko模块批量管理:通过调用ssh协议进行远程机器的批量命令执行. 要使用paramiko模块那就必须先安装这个第三方模块,仅需要在本地上安装相应的软件(python以及PyCrypto), ...
- Python常用模块之sys
Python常用模块之sys sys模块提供了一系列有关Python运行环境的变量和函数. 常见用法 sys.argv 可以用sys.argv获取当前正在执行的命令行参数的参数列表(list). 变量 ...
- Python time模块学习
Python time模块提供了一些用于管理时间和日期的C库函数,由于它绑定到底层C实现,因此一些细节会基于具体的平台. 一.壁挂钟时间 1.time() time模块的核心函数time(),它返回纪 ...
随机推荐
- Codeforces1304D Shortest and Longest LIS
前置扯淡 %%@\(wucstido\),思路是在是巧妙---link Description 给一个长度为\(n\)由 \(<\) 和 \(>\)组成的字符串,表示序列中相邻位置的数的大 ...
- mock简单的json返回
针对非常简单的json返回串,我们也不一定非得通过freemarker模板的方式来构造返回数据,这里看实际的需求,如果返回的内容是固定的,而且json又非常简单,我们也可以直接写在程序里面,下面的接口 ...
- mediawiki问题
部分内容参考 http://blog.csdn.net/gaogao0603/article/details/7689670 1.启用文件上传:在LocalSettings.php修改或者增加如下:$ ...
- CGLIB原理及实现机制
https://blog.csdn.net/gyshun/article/details/81000997
- iOS漂亮的Toolbar动画、仿美团主页、简易笔记本、流失布局、标签分组等源码
iOS精选源码 JPLiquidLayout 简单易用的流式布局 labelGroupAndStreamSwift---标签分组,单选,多选 iOS采用UITableView和UIScrollView ...
- 1)session总结
(1)session的由来: HTTP协议是一种无状态协议,服务器响应完之后就失去了与浏览器的联系,最早,Netscape将cookie引入浏览器,使得数据可以客户端跨页面交换,那么服务器是如何记住众 ...
- Java虚拟机内存划分
Java虚拟机在执行Java程序时,会把它管理的内存划分为若干个不同的数据区.这些区域有不同的特性,起不同的作用.它们有各自的创建时间,销毁时间.有的区域随着进程的启动而创建,随着进程结束而销毁,有的 ...
- 学习python-20191217(1)-Python Flask高级编程开发鱼书_第04章_应用、蓝图与视图函数
视频01: flask框架:最上层是app,它就像一个插线板一样,比如可以插入蓝图,还可以插入其他各种flask插件. 每个蓝图又可以插入很多视图函数,并可指定静态文件夹和模板文件夹. 好的代码结构, ...
- Longest Increasing Subsequence (Medium)
第一次做题思路201511092250 1.采用map存储,key为nums[i],value为以nums[i]为结尾的最大递增子序列的长度 2.采用map里面的lower_bounder函数直接找出 ...
- hashCode() 和 equals()比较
1. 首先equals()和hashCode()这两个方法都是从Object类中继承过来的. equals()方法在Object类中定义如下: public boolean equals(Object ...