如何在Python中使用正则表达式检测用户代理中的iPad/iPhone WebView?
我只需要把下面的Javascript正则表达式测试转换成Python代码:
var is_ios_app = /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(navigator.userAgent);
2 个回答
1
有一个Python库可以用来实现这个目的。
https://pypi.python.org/pypi/httpagentparser
使用示例:
>>> import httpagentparser
>>> s = "Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/532.9 (KHTML, like Gecko) \
Chrome/5.0.307.11 Safari/532.9"
>>> print httpagentparser.detect(s)
{'dist': {'version': '2.3.5', 'name': 'Android'},
'os': {'name': 'Linux'},
'browser': {'version': '4.0', 'name': 'Safari'}}
所以你可以使用dist中的name元素来获取iOS用户。
0
在Python中,可以使用 re.search()
来实现这个功能。
userAgent = "YOUR_UA"
pattern = '(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)'
if(re.search(pattern, userAgent)):
print "true"