python-user-agents库无法正常工作

时间:2014-12-23 20:19:21

标签: python browser user-agent

我正在尝试使用python-user-agents。我一直在库中遇到许多错误。

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

TypeError: parse_device() got an unexpected keyword argument 'model'

果然,ua_parser有一个python-user-agents库不期望的模型变量。有没有人在这个图书馆做得更好?无论是谁写的都做得很清楚。但它似乎是我能找到的唯一的东西。有什么帮助修复它才能正常工作?我希望使用它来识别浏览器的设备是移动设备还是可触摸设备或平板电脑,如:user_agent.is_mobileuser_agent.is_touch_capableuser_agent.is_tablet

2 个答案:

答案 0 :(得分:4)

如果你看一下github链接的自述文件,它会告诉你安装什么以及如何使用lib:

你需要pyyaml和ua-parser:

pip install pyyaml ua-parser user-agents

一个工作示例:

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

答案 1 :(得分:2)

实际上新版本的ua-parser与此不兼容所以你必须安装ua-parser == 0.3.6