python-user-agents 库不工作

Kat*_*lon 3 python browser user-agent

我正在尝试使用python-user-agents。我不断遇到库本身中的许多错误。

首先,它引用了from ua_parser import user_agent_parser它从未定义过的 a。因此,在敲击我的头后,我在网上查看可能是什么,并发现这ua_parser是该项目正在使用的另一个库。所以我下载了ua_parser. 但现在我收到一个错误

TypeError: parse_device() got an unexpected keyword argument 'model'
Run Code Online (Sandbox Code Playgroud)

果然,ua_parser有一个 python-user-agents 库不期望的模型变量。有没有人在这个库上做得更好?写它的人显然做得很糟糕。但它似乎是我唯一能找到的东西。任何帮助修复它才能正常工作?我希望使用它,来识别,如果浏览器的设备是移动或可触摸或平板中:user_agent.is_mobileuser_agent.is_touch_capableuser_agent.is_tablet

Pad*_*ham 5

如果您查看 github 链接中的自述文件,它会告诉您要安装什么以及如何使用该库:

你需要 pyyaml 和 ua-parser:

pip install pyyaml ua-parser user-agents
Run Code Online (Sandbox Code Playgroud)

一个工作示例:

In [1]: from user_agents import parse

In [2]: ua_string = 'Mozilla/5.0 (iPhone; CPU iPhone OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B179 Safari/7534.48.3'

In [3]: user_agent = parse(ua_string)

In [4]: user_agent.is_mobile
Out[4]: True

In [5]: user_agent.is_touch_capable 
Out[5]: True

In [6]: user_agent.is_tablet
Out[6]: False
Run Code Online (Sandbox Code Playgroud)