Python爬虫浏览器标识库
这次给大家带来Python爬虫浏览器标识库,使用Python爬虫浏览器标识库的注意事项有哪些,下面就是实战案例,一起来看一下。
UserAgent.pyclass toObj(object):def init(self, d):for a, b in d.items(): if isinstance(b, (list, tuple)):setattr(self, a, [toObj(x) if isinstance(x, dict) else x for x in b]) else:setattr(self, a, toObj(b) if isinstance(b, dict) else b) '''
Android 设备
''' Android = toObj({ "Xiaomi": { "Id": "Xiaomi", "Name": "小米手机", "UserAgent": "Mozilla/5.0 (Linux; U; Android 4.1.1; zh-cn; MI2 Build/JRO03L) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30 XiaoMi/MiuiBrowser/1.0"}, "Meizu": { "Id": "Meizu", "Name": "魅族手机", "UserAgent": "JUC (Linux; U; 2.3.5; zh-cn; MEIZU MX; 640*960) UCWEB8.5.1.179/145/33232"}, "Nexus7": { "Id": "Nexus7", "Name": "Nexus 7 (Tablet)", "UserAgent": "Mozilla/5.0 (Linux; Android 4.1.1; Nexus 7 Build/JRO03D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Safari/535.19"}, "AndroidGalaxyS3": { "Id": "AndroidGalaxyS3", "Name": "Samsung Galaxy S3 (Handset)", "UserAgent": "Mozilla/5.0 (Linux; U; Android 4.0.4; en-gb; GT-I9300 Build/IMM76D) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30"}, "AndroidGalaxyTab": { "Id": "AndroidGalaxyTab", "Name": "Samsung Galaxy Tab (Tablet)", "UserAgent": "Mozilla/5.0 (Linux; U; Android 2.2; en-gb; GT-P1000 Build/FROYO) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1"}
})'''
国产浏览器
'''China = toObj({ "360se": { "Id": "360se", "Name": "360安全浏览器", "UserAgent": "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; 360SE)"}, "360chrome": { "Id": "360chrome", "Name": "360极速浏览器", "UserAgent": "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; 360Chrome)"}, "liebao": { "Id": "liebao", "Name": "猎豹浏览器", "UserAgent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.99 Safari/537.36 LBBROWSER"}, "ucpc": { "Id": "ucpc", "Name": "UC浏览器电脑版", "UserAgent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 UBrowser/5.1.2238.18 Safari/537.36"}, "uc": { "Id": "uc", "Name": "UC浏览器手机版", "UserAgent": "UCWEB/2.0 (iOS; U; iPh OS 4_3_2; zh-CN; iPh4) U2/1.0.0 UCBrowser/8.6.0.199 U2/1.0.0 Mobile"}, "sougou": { "Id": "sougou", "Name": "搜狗浏览器", "UserAgent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36 SE 2.X MetaSr 1.0"}, "baidu": { "Id": "baidu", "Name": "百度浏览器", "UserAgent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 BIDUBrowser/7.5 Safari/537.36"}, "maxthon": { "Id": "maxthon", "Name": "遨游浏览器", "UserAgent": "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Maxthon 2.0)"}, "qq": { "Id": "qq", "Name": "QQ浏览器", "UserAgent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.124 Safari/537.36 QQBrowser/9.0.2229.400"}, "mqq": { "Id": "mqq", "Name": "QQ浏览器手机版", "UserAgent": "MQQBrowser/3.6/Adr (Linux; U; 4.0.3; zh-cn; HUAWEI U8818 Build/U8818V100R001C17B926;480*800)"}, "wechat": { "Id": "wechat", "Name": "微信内置浏览器", "UserAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 6_1_3 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Mobile/10B329 MicroMessenger/5.0.1"}
})'''
搜索引擎浏览器
'''Spider = toObj({ "Baidu": { "Id": "Baidu", "Name": "百度PC", "UserAgent": "Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)"}, "Baidum": { "Id": "Baidum", "Name": "百度移动端", "UserAgent": "Mozilla/5.0 (Linux;u;Android 4.2.2;zh-cn;) AppleWebKit/534.46 (KHTML,like Gecko) Version/5.1 Mobile Safari/10600.6.3 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)"}, "BingBot": { "Id": "BingBot", "Name": "BingBot (Bing's spider)", "UserAgent": "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)"}, "Googlebot": { "Id": "Googlebot", "Name": "Googlebot (Google's spider)", "UserAgent": "Googlebot/2.1 (+http://www.googlebot.com/bot.html)"}, "Slurp": { "Id": "Slurp", "Name": "Slurp! (Yahoo's spider)", "UserAgent": "Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)"}
})'''
Mac OS
'''Safari = toObj({ "SafariMac": { "Id": "SafariMac", "Name": "Safari on Mac", "UserAgent": "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_6; en-US) AppleWebKit/533.20.25 (KHTML, like Gecko) Version/5.0.4 Safari/533.20.27"}, "SafariWin": { "Id": "SafariWin", "Name": "Safari on Windows", "UserAgent": "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/533.20.25 (KHTML, like Gecko) Version/5.0.4 Safari/533.20.27"}, "SafariiPad": { "Id": "SafariiPad", "Name": "Safari on iPad", "UserAgent": "Mozilla/5.0 (iPad; CPU OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3"}, "SafariiPhone": { "Id": "SafariiPhone", "Name": "Safari on iPhone", "UserAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3"}
})'''
Opera 欧朋
'''Opera = toObj({ "OperaMac": { "Id": "OperaMac", "Name": "Opera on Mac", "UserAgent": "Opera/9.80 (Macintosh; Intel Mac OS X 10.6.8; U; en) Presto/2.9.168 Version/11.52"}, "OperaWin": { "Id": "OperaWin", "Name": "Opera on Windows", "UserAgent": "Opera/9.80 (Windows NT 6.1; WOW64; U; en) Presto/2.10.229 Version/11.62"}
})'''
Chrome
'''Chrome = toObj({ "ChromeAndroidMobile": { "Id": "ChromeAndroidMobile", "Name": "Chrome on Android Mobile", "UserAgent": "Mozilla/5.0 (Linux; Android 4.0.4; Galaxy Nexus Build/IMM76B) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.133 Mobile Safari/535.19"}, "ChromeAndroidTablet": { "Id": "ChromeAndroidTablet", "Name": "Chrome on Android Tablet", "UserAgent": "Mozilla/5.0 (Linux; Android 4.1.2; Nexus 7 Build/JZ054K) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Safari/535.19"}, "ChromeMac": { "Id": "ChromeMac", "Name": "Chrome on Mac", "UserAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.93 Safari/537.36"}, "ChromeUbuntu": { "Id": "ChromeUbuntu", "Name": "Chrome on Ubuntu", "UserAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.11 (KHTML, like Gecko) Ubuntu/11.10 Chromium/27.0.1453.93 Chrome/27.0.1453.93 Safari/537.36"}, "ChromeWin": { "Id": "ChromeWin", "Name": "Chrome on Windows", "UserAgent": "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.94 Safari/537.36"}, "ChromeiPhone": { "Id": "ChromeiPhone", "Name": "Chrome on iPhone", "UserAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 6_1_4 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) CriOS/27.0.1453.10 Mobile/10B350 Safari/8536.25"}
})'''
IE
'''IE = toObj({ "IE10": { "Id": "IE10", "Name": "Internet Explorer 10", "UserAgent": "Mozilla/5.0 (compatible; WOW64; MSIE 10.0; Windows NT 6.2)"}, "IE6": { "Id": "IE6", "Name": "Internet Explorer 6", "UserAgent": "Mozilla/4.0 (Windows; MSIE 6.0; Windows NT 5.2)"}, "IE7": { "Id": "IE7", "Name": "Internet Explorer 7", "UserAgent": "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)"}, "IE8": { "Id": "IE8", "Name": "Internet Explorer 8", "UserAgent": "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0)"}, "IE9": { "Id": "IE9", "Name": "Internet Explorer 9", "UserAgent": "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)"}
})'''
Firefox
'''Firefox = toObj({ "FFAndroidHandset": { "Id": "FFAndroidHandset", "Name": "Firefox on Android Mobile", "UserAgent": "Mozilla/5.0 (Android; Mobile; rv:14.0) Gecko/14.0 Firefox/14.0"}, "FFAndroidTablet": { "Id": "FFAndroidTablet", "Name": "Firefox on Android Tablet", "UserAgent": "Mozilla/5.0 (Android; Tablet; rv:14.0) Gecko/14.0 Firefox/14.0"}, "FFMac": { "Id": "FFMac", "Name": "Firefox on Mac", "UserAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:21.0) Gecko/20100101 Firefox/21.0"}, "FFUbuntu": { "Id": "FFUbuntu", "Name": "Firefox on Ubuntu", "UserAgent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:21.0) Gecko/20130331 Firefox/21.0"}, "FFWin": { "Id": "FFWin", "Name": "Firefox on Windows", "UserAgent": "Mozilla/5.0 (Windows NT 6.2; WOW64; rv:21.0) Gecko/20100101 Firefox/21.0"}
})'''
Windows Phone
'''WinPhone = toObj({ "Win7Phone": { "Id": "Win7Phone", "Name": "Windows Phone 7", "UserAgent": "Mozilla/4.0 (compatible; MSIE 7.0; Windows Phone OS 7.0; Trident/3.1; IEMobile/7.0; LG; GW910)"}, "Win75Phone": { "Id": "Win75Phone", "Name": "Windows Phone 7.5", "UserAgent": "Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0; SAMSUNG; SGH-i917)"}, "Win8Phone": { "Id": "Win8Phone", "Name": "Windows Phone 8", "UserAgent": "Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; ARM; Touch; NOKIA; Lumia 920)"}
})'''
iOS
'''iOS = toObj({ "iPad": { "Id": "iPad", "Name": "iPad", "UserAgent": "Mozilla/5.0 (iPad; CPU OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3"}, "iPhone": { "Id": "iPhone", "Name": "iPhone", "UserAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3"}, "iPod": { "Id": "iPod", "Name": "iPod", "UserAgent": "Mozilla/5.0 (iPod; U; CPU like Mac OS X; en) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/3A101a Safari/419.3"}
})
Other = toObj({ "BlackBerry": { "Id": "BlackBerry", "Name": "BlackBerry - Playbook 2.1", "UserAgent": "Mozilla/5.0 (PlayBook; U; RIM Tablet OS 2.1.0; en-US) AppleWebKit/536.2+ (KHTML, like Gecko) Version/7.2.1.0 Safari/536.2+"}, "MeeGo": { "Id": "MeeGo", "Name": "MeeGo - Nokia N9", "UserAgent": "Mozilla/5.0 (MeeGo; NokiaN9) AppleWebKit/534.13 (KHTML, like Gecko) NokiaBrowser/8.5.0 Mobile Safari/534.13"}
})
Default = Chrome.ChromeWin.UserAgent
使用
import UserAgent as uaimport requests
print("默认标识",ua.Default)
print("小米标识",ua.Android.Xiaomi.UserAgent)
_headers={ 'Accept-Language': 'zh-CN,zh;q=0.8', 'Content-Type': 'text/html;Charset=utf-8', "User-Agent":ua.Android.Xiaomi.UserAgent
}
rd = requests.get("http://www.jianshu.com/", params=None, headers=_headers)
rd.encoding = 'utf-8'print(rd.text)
Python爬虫浏览器标识库相关推荐
- python爬虫基础-requests库
python爬虫基础-requests库 python爬虫 1.什么是爬虫? 通过编写程序,模拟浏览器上网,然后让其去互联网上抓取数据的过程. 注意:浏览器抓取的数据对应的页面是一个完整的页面. 为什 ...
- Python爬虫之selenium库使用详解
Python爬虫之selenium库使用详解 本章内容如下: 什么是Selenium selenium基本使用 声明浏览器对象 访问页面 查找元素 多个元素查找 元素交互操作 交互动作 执行JavaS ...
- python爬虫之urllib库详解
python爬虫之urllib库详解 前言 一.urllib库是什么? 二.urllib库的使用 urllib.request模块 urllib.parse模块 利用try-except,进行超时处理 ...
- Python爬虫环境常用库安装
Python爬虫环境常用库安装 1:urllib urllib.request 这两个库是python自带的库,不需要重新安装,在python中输入如下代码: import urllib import ...
- python爬虫(四)_urllib2库的基本使用
python爬虫(四)_urllib2库的基本使用 本篇我们将开始学习如何进行网页抓取,更多内容请参考:python学习指南 urllib2库的基本使用 所谓网页抓取,就是把URL地址中指定的网络资源 ...
- python爬虫浏览器伪装和设置代理ip
1.python爬虫浏览器伪装 #导入urllib.request模块 import urllib.request#设置请求头 headers=("User-Agent",&quo ...
- Python爬虫之Scrapy库的下载和安装
Python爬虫之Scrapy库的下载和安装 下载scrapy库 1.点击https://www.lfd.uci.edu/~gohlke/pythonlibs,进入该网页后Ctrl+F输入scrapy ...
- python request库_【Python爬虫】Request库入门
什么是爬虫? 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用的名字还有蚂蚁.自动索引. ...
- 【Python爬虫】Request库入门
什么是爬虫? 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用的名字还有蚂蚁.自动索引. ...
- python爬虫的常用库
1.requests 这个库是爬虫最常用的一个库. 2.Selenium Selenium 这是一个自动化测试工具,利用它我们可以驱动浏览器执行特定的动作,如点击.下拉等操作 对于一些用JS做谊染的页 ...
最新文章
- Oracle学习笔记:a inner join b与from a,b where a.x=b.x的差异
- 数据库面试题【七、InnoDB索引和MyISAM索引的区别】
- 赌还是不赌 你应该辞职去创业吗?
- 总结-Linux基础指令
- 前景检测算法 (GMM)
- 谁有 CaliberRM.2005.Enterprise 版 或CaliberRM.2006 注册码?
- 百胜中国供应链管理中心正式开工落户上海嘉定;百度发布第六代量产无人车 | 美通企业日报...
- ItemCF的Python实现
- BUUCTF MISC刷题
- Graph U-Nets [gPool gUnpool] 图分类 节点分类 图池化 ICML 2019
- 职场四种人:打工者、职业人、企业人和社会人,你是那种人?
- B站JavaScript从入门到精通智能社Blue石川老师视频部分代码_轮播图
- 机器人合肥乐博_乐博机器人编程——让机器人陪伴全国儿童成长
- Vue3入门到精通--reactive以及reactive相关函数
- (改进GM(1,1)模型)灰色残差马尔科夫预测模型的matlab实现
- 不一般的Cover Letter
- BIGGAN代码以及训练参数,超级清晰版(CIFAR10数据集生成)
- WordPress自定义gravatar头像,缓存Gravatar头像为网站提速
- WAYOS版本OEM,替换WAYOS的LOGO,江边小鸟杰作啊
- R语言Logistic回归模型案例(绘制列线图、校正曲线):研究低出生体重婴儿的核心影像因素
热门文章
- 所以,网络工程师能从事什么工作?
- Filtered request failed
- unipp怎么打包微信公众号_uni-app微信小程序运行和打包
- 系统架构设计师考点全纪要(自己整理,本人一次稳过)
- 常规的几个API接口(也包括比价)
- 配置OpenLDAP使用TLS通信
- Windows 桌面应用开发入门
- 矩阵键盘——按下矩阵按键,数码管显示出位置对应的字符(0123 4567 89Ab CdEF)
- 高级架构师_Elasticsearch_第二章kibana+IK分词器安装+索引操作+ 映射操作
- 一个屌丝程序猿的人生(七)