fake useragent

2025-12-11 0 115

测试和部署伪造ruff lintercodeql

用户

使用现实世界数据库的最新简单的用户伪造。

特征

  • 数据已预载并从Intoli LLC进行后处理,数据是软件包本身的一部分
  • 数据由各种浏览器和各种浏览器组成
  • 检索用户代理字符串(类型:桌面,平板电脑和/或移动UAS)
  • 检索用户代理Python字典(又称对象),具有诸如UserAgent,百分比,type,device_brand,browser,browser_versionos,OS,OS_Version和Platform之类的字段
  • 支持Python 3.9或更高

安装

pip install fake-useragent

或者,如果您安装了多个Python / pip版本,请使用pip3:

pip3 install fake-useragent

用法

下面的简单用法示例,另请参见此REDME的下一章有关更多高级用法:

 from fake_useragent import UserAgent
ua = UserAgent ()

# Get a random browser user-agent string
print ( ua . random )
# Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0

# Or get user-agent string from a specific browser
print ( ua . chrome )
# Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36
print ( ua . google )
# Mozilla/5.0 (iPhone; CPU iPhone OS 18_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) GSA/343.0.695551749 Mobile/15E148 Safari/604.1
print ( ua [ \'Chrome\' ])
# Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36
print ( ua . firefox )
# Mozilla/5.0 (Android 14; Mobile; rv:133.0) Gecko/133.0 Firefox/133.0
print ( ua . ff )
# Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:132.0) Gecko/20100101 Firefox/132.0
print ( ua . safari )
# Mozilla/5.0 (iPhone; CPU iPhone OS 17_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.6 Mobile/15E148 Safari/604.1 Ddg/17.6
print ( ua . opera )
# Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 OPR/114.0.0.0
print ( ua . edge )
# Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36 Edg/125.0.0.0 

其他用法

自v1.2.0以来,假播种的其他功能现在提供。

If you want to specify your own browser list, you can do that via the browsers argument (default is: [\”Google\”, \”Chrome\”, \”Firefox\”, \”Edge\”, \”Opera\”, \”Safari\”, \”Android\”, \”Yandex Browser\”, \”Samsung Internet\”, \”Opera Mobile\”, \”Mobile Safari\”, \”Firefox Mobile\”, \”Firefox iOS\”, \”Chrome Mobile\”, \”Chrome移动iOS”,“移动Safari UI/wkwebview”,“ Edge Mobile”,“ DuckDuckgo Mobile”,“ Miuibrowser”,“ Whale”,“ Twitter”,“ Twitter”,“ Facebook”,“ Amazon Silk”])。
此示例只会从Edge和Chrome返回随机用户代理:

 from fake_useragent import UserAgent
ua = UserAgent ( browsers = [ \'Edge\' , \'Chrome\' ])
ua . random

注意:关于浏览器的伪造者代理:Chrome,Edge,Firefox,Safari,Opera,Android,Opera Mobile,Mobile Safari,Firefox Mobile,Firefox iOS,Chrome Mobile,Chrome Mobile,Chrome Mobile iOS等(请参阅上面的完整列表)。
注意#2:由于Fakeuser-Agent v2.0.0浏览器名称对案例敏感!


如果要指定自己的操作系统,可以通过OS参数执行此操作(默认值为:[“ Windows”,“ Linux”,“ Ubuntu”,“ Chrome OS”,“ Mac OS X”,“ Android”,“ ios”])。
在此示例中,您只会恢复Linux用户代理:

 from fake_useragent import UserAgent
ua = UserAgent ( os = \'Linux\' )
ua . random

注意:由于Fakeuser-Agent v2.0.0 OS名称对案例敏感!


您还可以指定要使用的平台类型,可以通过平台参数来执行此操作(默认为[桌面“,“移动”,“平板电脑”))。此示例只会从移动设备返回随机用户代理:

 from fake_useragent import UserAgent
ua = UserAgent ( platforms = \'mobile\' )
ua . random

以及台式设备的随机用户代理:

 from fake_useragent import UserAgent
ua = UserAgent ( platforms = \'desktop\' )
ua . random

如果要返回更多最新的用户代理字符串,则可以使用min_version参数(默认值为:0.0,这意味着所有用户代理都将匹配)。
在此示例中,您仅获得具有最低版本的120.0:

 from fake_useragent import UserAgent
ua = UserAgent ( min_version = 120.0 )
ua . random

对于向后兼容性,仍然可以使用Min_percentage参数指定最小使用百分比。但是,当前的用户代理列表不包含此统计数据。因此,所有用户代理都将匹配。


提示:您可以将所有这些论点结合给您喜欢!

用户代理Python词典

由于版本1.3.0,我们现在还为您提供以下“获取”属性,这些属性返回了UA的整个Python字典,而不仅仅是用户代理字符串:

警告RAW JSON对象(在Python词典中)被“原样”返回。意思是,这种数据结构将来可能会发生变化!

请注意,以下这些“获取”属性可能不会在将来返回相同的键/值对。如果要使用稳定的接口,请使用上述UA.random或类似的方法。

 from fake_useragent import UserAgent
ua = UserAgent ()

# Random user-agent dictionary (object)
ua . getRandom
# {\'percent\': 0.8, \'useragent\': \'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36 Edg/116.0.1938.76\', \'system\': \'Edge 116.0 Win10\', \'browser\': \'edge\', \'version\': 116.0, \'os\': \'win10\'}

# More get properties:
ua . getFirefox
# {\'percent\': 0.3, \'useragent\': \'Mozilla/5.0 (Windows NT 10.0; rv:109.0) Gecko/20100101 Firefox/118.0\', \'system\': \'Firefox 118.0 Win10\', \'browser\': \'firefox\', \'version\': 118.0, \'os\': \'win10\'}
ua . getChrome
ua . getSafari
ua . getEdge

# And a method with an argument.
# This is exactly the same as using: ua.getFirefox
ua . getBrowser ( \'firefox\' )

笔记

您可以使用后备参数覆盖后备字符串,在极少数情况下有些失败:

 from fake_useragent import UserAgent

ua = UserAgent ( fallback = \'your favorite Browser\' )
# in case if something went wrong, one more time it is REALLY!!! rare case
ua . random == \'your favorite Browser\'

如果您尝试获取未知的浏览器:

 from fake_useragent import UserAgent
ua = UserAgent ()
print ( ua . unknown )
#Error occurred during getting browser: randm, but was suppressed with fallback.
#Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36 Edg/122.0.0.0

如果您需要通过__getAttr__方法来安全地将某些属性覆盖在Useragent中,则可以使用Safe_attrs,您可以将其传递到其中的属性名称。至少这将阻止您在找不到属性时提出假司令。

例如,使用伪造的用户注射<https://gi*thub*.co*m/tailhook/injections>您需要:

 from fake_useragent import UserAgent

ua = UserAgent ( safe_attrs = ( \'__injections__\' ,))

请,如果您不明白为什么需要这个,请不要使用。这对于极端极端情况来说是魔术。

遇到问题?

确保您使用最新版本!

pip install --upgrade fake-useragent

或者,如果不起作用,请尝试安装这样的最新软件包版本(2.0.3是一个示例,请检查PYPI上最新版本的内容):

pip install fake-useragent==2.0.3

通过Python控制台检查版本:

 import fake_useragent

print ( fake_useragent . __version__ )

而且,您总是欢迎您来发布问题。

请不要忘记提及您正在使用的版本。

对于开发人员

用户代理数据

我们从user-Adent.net中检索的用户代理数据。数据以JSONLINE格式存储。文件位于:SRC/Fake_useragent/Data Directory中。

数据JSON文件是Python软件包的一部分,请参见pyproject.toml。阅读有关数据文件支持的更多信息。

Python虚拟环境

我们鼓励在安装PIP软件包之前使用Python虚拟环境,例如:

python -m virtualenv env
source env/bin/activate

本地安装

pip install -e . 

测试

pip install -r requirements.txt
tox

覆盖

使用ruff修复进口:

pip install -r requirements.txt
ruff check --select= \" I \" --fix .

修复黑色代码格式错误:

pip install -r requirements.txt
black .

注意:当Ruff V1.0发行时,我们很可能完全朝着Ruff而不是黑色移动。

ChangElog

  • 2.2.0 2025年4月14日

    • 更新的用户代理文件(JSONL)
    • 更新的依赖项
    • Python 3.8支持被正式放弃
    • python 3.13添加了支持
    • 改进的pyproject.toml文件
  • 2.1.0 2025年3月12日

    • 加快UA转换器脚本并通过Cronjob添加到工作流程
    • 倾倒依赖版本
    • 更新的用户代理文件(JSONB)
    • 默认情况下(用于IDE)改善了安全atter检查器并添加形状为安全attr。
  • 2.0.2&2.0.3 2024年12月10日

    • 修复项目依赖项TOML文件和同步文档
  • 2024年12月7日2.0.1(我的生日)

    • 添加需要Python到TOML配置
  • 2.0.0 2024年12月4日

    • 切换到新的数据源(再次再次)
    • 可能的浏览器选项:“ Google”,“ Chrome”,“ Firefox”,“ Edge”,“ Opera”,“ Safari”,“ Safari”,“ Android”,“ Yandex浏览器”,“ Samsung Internet”,“ Opera Mobile”,“移动Safari”,“ Mobile Safari”,“ Mobile Safari”,“ Firefox Mobile”,“ Firefox Mobile”,“ Firefox ios”,“ Firefox Ios”,“ Firefox ios”,“ firefox ios”,“ chrome” chrome Mobile\’s expect\’greom of mobile\’exie iece ofim\’exie\’移动”,“ DuckDuckgo Mobile”,“ Miuibrowser”,“ Whale”,“ Twitter”,“ Facebook”,“ Amazon Silk”
    • 可能的OS选项:“ Windows”,“ Linux”,“ Ubuntu”,“ Chrome OS”,“ Mac OS X”,“ Android”,“ ios”
    • 可能的类型选项:“桌面”,“移动”,“平板电脑”
    • 更新Fake.py来处理新的数据键/值对象
    • 更新了读书文件
    • 重命名为浏览器。和其他重构。
  • 1.5.1 2024年3月16日

    • 删除用户代理字符串中的后路空间
  • 1.5.0 2024年3月8日

    • 迁移到新的用户代理数据源(感谢@boudewijnzwart),向后兼容API。
    • 将所有PIP软件包依赖项更新为最新稳定版本
  • 1.4.0 2023年11月24日

    • 更新所有PIP软件包
    • 支持Python 3.12(感谢@vladkens)
    • 修复缓存刮刀中的软件包冲突
    • 改善ruff cli呼叫
  • 1.3.0 2023年10月2日

    • 引入新的ua.getrandom,ua.getFirefox,ua.getChrome,ua.getSafari。和一个通用方法:ua.getBrowser(..)(例如getBrowser(\’firefox\’))
      • 上面的这些新属性使您可以检索整个原始Python字典,而不仅仅是UA字符串。
      • 这些属性将来可能会返回不同的密钥/值对!
    • 修复OS参数“ Windows”以检查两个Win10和Win7值(以前仅在Win10上检查),从而返回更多UAS
    • 改进了用户代理刮刀(现在还包含Safari浏览器)
    • 更新浏览器。JSON数据文件
  • 1.2.1 2023年8月2日

    • Min_percentage检查的小改进
    • 更新所有PIP软件包依赖项
  • 1.2.0 2023年8月2日

    • 更新浏览器用户数据
    • 允许在浏览器,操作系统和使用百分比上过滤器
    • 更新缓存刮板以探讨用户代理字符串的新数据源
    • 调整代码以使用新的JSON数据格式
    • 参数use_external_data = true和verify_ssl被删除。如果使用这些参数,只需在代码中删除它!
  • 1.1.3 2023年3月20日

    • 更新依赖项
  • 1.1.2 2023年2月8日

    • 安全修复
  • 1.1.1 2022年12月4日

    • 从用户代理字符串中删除空格,这是一个补丁发布
  • 1.1.0 2022年11月26日

    • 在尝试检索本地JSON数据文件时,添加PKG_Resource作为后备机制
  • 1.0.1 2022年11月10日

    • 添加Ementlib-metadata和expertlib-Resources作为依赖项
    • 检查有关Ementlib资源(Python v3.10或更高)的特定Python版本,以使文件()工作
    • Empertlib_Metadata现在也应该在3.8之前使用Python版本
    • 删除过时的清单。在文件中
  • 1.0.0 2022年11月17日

    • 使JSON行数据文件部分python软件包,在本地检索数据
      • 扩展MyProject.toml文件,并使用软件包数据支持
    • 删除集中式缓存服务器实现
    • 进行真实的单位测试,应运行可靠,快速,独立且无互联网连接
  • 2022年11月5日0.1.14

    • 使用现代Python> = 3.7语法提高代码质量标准
    • 迁移到pyproject.toml构建系统格式 +语法检查
    • 将其他分类器添加到TOML文件
    • 改进的tox.ini文件
    • 使用PIP缓存改进了GitHub动作作业
    • 和各种小修复
  • 0.1.13 2022年10月21日

    • 实现浏览器参数,允许您覆盖要使用的浏览器名称
    • 修复Internet Explorer和Edge的浏览器列表
    • 不再依赖w3schools.com
    • 清理数据(TEMP)文件格式
    • 更新后备缓存服务器URL /使用JSON行作为文件格式
    • 移至GitHub动作而不是Travis
    • 使用黑色python格式化以薄片
  • 0.1.12 2022年3月31日

    • 分叉
  • 2018年10月4日0.1.11

    • 将S3 + CloudFront后卫移到Heroku.com,因为佛罗里达州的某人上个月提出了约2500万的要求
  • 0.1.10 2018年2月11日

    • 次要修复文档云额URL
  • 0.1.9 2018年2月11日

    • 修复w3schools.com重命名为IE/EDGE/EDGE/IE
    • 将Heroku.com的后备移至S3 + Cloudfront
    • 停止测试Python3.3和PYPY
  • 2017年11月2日0.1.8

    • 修复Useragentstring.com无法通过套接字连接到本地MySQL服务器
  • 2017年4月2日0.1.7

    • 修复损坏的readme.rst
  • 2017年4月2日0.1.6

    • 修复bug use_cache_server不影响任何东西
    • w3schools.com <https://www.w3s*c*hoo*ls.com/browsers/browsers_stats.asp> _ _移动到https
    • verify_ssl选项添加了,默认情况下是正确的(不支持Python 2.7.9-和3.4.3-的urllib.urlopen ssl上下文)
  • 0.1.5 2017年2月28日

    • 向Internet Explorer添加了UA.Edge别名
    • w3schools.com开始显示边缘统计
    • Python 2.6不再测试
    • use_cache_server选项添加
    • 增加了fack_useragent.settings.http_timeout到5秒
  • 2016年12月14日0.1.4

    • 添加了自定义数据文件位置支持
    • 在不可用的数据源的情况下,添加了后备浏览器支持
    • 添加别名face_useragent.fakeuseragent for nake_useragent.useragent
    • 添加别名face_useragent.useragenterror forke_useragent.fakeuseragenterror
    • 减少face_useragent.settings.http_timeout到3秒
    • 开始迁移到新的数据文件格式
    • 简化了大量4年以上的日期代码
    • 更好的线/绿色安全
    • 添加了详细的记录
    • 添加了Safe_attrs,以防止__GetAttr __
  • 2016年11月24日0.1.3

    • 添加了托管数据文件,当远程服务不可用时
    • 提高face_useragent.errors.fakeuseragenterror,以防万一没有办法下载数据
    • 提高face_useragent.errors.fakeuseragenterror,而不是在未知的浏览器中
    • 在尝试下载数据时,添加了gevent.sleep支持。
  • xxx xxxxxxx xx,xxxx

    • xxxxx ??????

作者

您可以访问作者页面。

下载源码

通过命令行克隆项目:

git clone https://github.com/fake-useragent/fake-useragent.git

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

申明:本文由第三方发布,内容仅代表作者观点,与本网站无关。对本文以及其中全部或者部分内容的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。本网发布或转载文章出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,也不代表本网对其真实性负责。

左子网 编程相关 fake useragent https://www.zuozi.net/34390.html

scylla
上一篇: scylla
fbs
下一篇: fbs
常见问题
  • 1、自动:拍下后,点击(下载)链接即可下载;2、手动:拍下后,联系卖家发放即可或者联系官方找开发者发货。
查看详情
  • 1、源码默认交易周期:手动发货商品为1-3天,并且用户付款金额将会进入平台担保直到交易完成或者3-7天即可发放,如遇纠纷无限期延长收款金额直至纠纷解决或者退款!;
查看详情
  • 1、描述:源码描述(含标题)与实际源码不一致的(例:货不对板); 2、演示:有演示站时,与实际源码小于95%一致的(但描述中有”不保证完全一样、有变化的可能性”类似显著声明的除外); 3、发货:不发货可无理由退款; 4、安装:免费提供安装服务的源码但卖家不履行的; 5、收费:价格虚标,额外收取其他费用的(但描述中有显著声明或双方交易前有商定的除外); 6、其他:如质量方面的硬性常规问题BUG等。 注:经核实符合上述任一,均支持退款,但卖家予以积极解决问题则除外。
查看详情
  • 1、左子会对双方交易的过程及交易商品的快照进行永久存档,以确保交易的真实、有效、安全! 2、左子无法对如“永久包更新”、“永久技术支持”等类似交易之后的商家承诺做担保,请买家自行鉴别; 3、在源码同时有网站演示与图片演示,且站演与图演不一致时,默认按图演作为纠纷评判依据(特别声明或有商定除外); 4、在没有”无任何正当退款依据”的前提下,商品写有”一旦售出,概不支持退款”等类似的声明,视为无效声明; 5、在未拍下前,双方在QQ上所商定的交易内容,亦可成为纠纷评判依据(商定与描述冲突时,商定为准); 6、因聊天记录可作为纠纷评判依据,故双方联系时,只与对方在左子上所留的QQ、手机号沟通,以防对方不承认自我承诺。 7、虽然交易产生纠纷的几率很小,但一定要保留如聊天记录、手机短信等这样的重要信息,以防产生纠纷时便于左子介入快速处理。
查看详情

相关文章

猜你喜欢
发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务