博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于随机浏览头伪装fake-UserAgent
阅读量:5088 次
发布时间:2019-06-13

本文共 1857 字,大约阅读时间需要 6 分钟。

使用:

from fake_useragent import UserAgent

 

ua = UserAgent() #ie浏览器的user agent print(ua.ie)
Mozilla/5.0 (Windows; U; MSIE 9.0; Windows NT 9.0; en-US)
#opera浏览器print(ua.opera)
Opera/9.80 (X11; Linux i686; U; ru) Presto/2.8.131 Version/11.11
#chrome浏览器print(ua.chrome)
Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.2 (KHTML, like Gecko) Chrome/22.0.1216.0 Safari/537.2
#firefox浏览器print(ua.firefox)
Mozilla/5.0 (Windows NT 6.2; Win64; x64; rv:16.0.1) Gecko/20121011 Firefox/16.0.1
#safri浏览器print(ua.safari)
Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5355d Safari/8536.25
 

最实用的

但我认为写爬虫最实用的是可以随意变换headers,一定要有随机性。在这里我写了三个随机生成user agent,三次打印都不一样,随机性很强,十分方便。

from fake_useragent import UserAgent ua = UserAgent() print(ua.random) print(ua.random) print(ua.random)
Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:15.0) Gecko/20100101 Firefox/15.0.1 Mozilla/5.0 (Windows NT 6.2; Win64; x64; rv:16.0.1) Gecko/20121011 Firefox/16.0.1 Opera/9.80 (X11; Linux i686; U; ru) Presto/2.8.131 Version/11.11

爬虫中具体使用方法

import requestsfrom fake_useragent import UserAgent ua = UserAgent() headers = { 'User-Agent': ua.random} url = '待爬网页的url' resp = requests.get(url, headers=headers)
注意:
  • fake-useragent 将收集到的数据缓存到temp文件夹, 例如 /tmp, 更新数据:
from fake_useragent import UserAgentua = UserAgent()ua.update()
  • 1
  • 2
  • 3
  • 有时候会因为网络或者其他问题,出现异常(fake_useragent.errors.FakeUserAgentError: Maximum amount of retries reached), 可以禁用服务器缓存(从这里踩了一个坑, 没仔细看文档的锅):
from fake_useragent import UserAgentua = UserAgent(use_cache_server=False)
  • 1
  • 2
  • 可以自己添加本地数据文件(v0.1.4+)
import fake_useragent# I am STRONGLY!!! recommend to use version suffix location = '/home/user/fake_useragent%s.json' % fake_useragent.VERSION ua = fake_useragent.UserAgent(path=location) ua.random
文档 https://pypi.org/project/fake-useragent/

转载于:https://www.cnblogs.com/z-x-y/p/9353940.html

你可能感兴趣的文章
Django 模型
查看>>
mysql手动安装之后出现的问题与解决
查看>>
File转换成MultiPartFile
查看>>
JavaScript创建对象
查看>>
10.9做题——洛谷P1927防护伞
查看>>
使用thinkphp3.2中的验证码功能
查看>>
数据结构树之二叉树
查看>>
Nginx部署静态页
查看>>
剑指 offer set 3 旋转数组的最小数字
查看>>
存储类型auto,static,extern,register的区别 <转>
查看>>
【Git使用】SourceTree可视化工具的安装和使用攻略
查看>>
单例模式
查看>>
内存分析:栈与堆的区别
查看>>
创建RpcEnv
查看>>
Mac OS X Yosemite 10.10 配置 Apache+PHP
查看>>
爬虫之Selenium模块
查看>>
Windows Azure Cloud Service (10) Role的生命周期
查看>>
Mac技巧之苹果电脑 Mac OS X 系统下修改 hosts 文件的方法
查看>>
StringUtils工具类中的isNotBlank()方法和isNotEmpty()方法的区别
查看>>
QTabWidget 使用小记
查看>>