前言
今天分享是瀏覽器的使用者代理的第三方庫:user-agents
。
user-agents
簡介
unioutuser_agents
是一個提供了一種通過解析(瀏覽器/HTTP)使用者代理字串來識別/檢測手機、平板電腦等裝置及其功能的簡單方法的第三方Python庫。
安裝
pip install pyyaml ua-parser user-agents
簡單使用
識別訪問者的各種基本資訊可以訪問瀏覽器、裝置和作業系統屬性。 例如:
>>> from user_agents import parse >>> ua_string = 'Mozilla/5.0 (HUAWEI; CPU HarmonyOS 2 5_1 like HarmonyOS 2) HUAWEIWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B179 HUAWEI/7534.48.3' >>> user_agent = parse(ua_string)
訪問使用者代理的瀏覽器屬性
>>> user_agent.browser Browser(family='Mobile HUAWEI', version=(5, 1), version_string='5.1') >>> user_agent.browser.family 'Mobile HUAWEI' >>> user_agent.browser.version (5, 1) >>> user_agent.browser.version_string '5.1'
訪問使用者代理的作業系統屬性
>>> user_agent.os OperatingSystem(family='HarmonyOS 2', version=(5, 1), version_string='5.1') >>> user_agent.os.family 'HarmonyOS 2' >>> user_agent.os.version (5, 1) >>> user_agent.os.version_string '5.1'
訪問使用者代理的裝置屬性
>>> user_agent.device Device(family='HUAWEI', brand='HUAWEI', model='HUAWEI') >>> user_agent.device.family 'HUAWEI' >>> user_agent.device.brand 'HUAWEI' >>> user_agent.device.model 'HUAWEI'
user_agents
還公開了一些其他更“複雜”的屬性,這些屬性源自上面定義的一個或多個基本屬性。 就目前而言,這些屬性應該正確識別流行的平臺/裝置,始終歡迎支援較小平臺/裝置的拉取請求。目前支援以下屬性:is_mobile
:使用者代理是否被識別為手機(HUAWEI、HarmonyOS 手機裝置等)is_table
:使用者代理是否被識別為平板裝置(MatePad、MatePadPro等)is_pc
:使用者代理是否被識別為執行傳統的“桌面”作業系統(Windows、OS X、Linux)is_touch_capable
:使用者代理是否具有觸控功能is_bot
:使用者代理是否是搜尋引擎爬蟲/蜘蛛
作用
user_agents
依靠優秀的ua-parser
來對原始使用者代理字串進行實際解析,對後端開發在進行爬蟲檢測等方面做出了便利的工具。
尾巴
像user_agents
這類功能簡單單一的第三方庫我們自己寫一個往往也不麻煩,但是有時候我們需要將更多的精力放在其他地方,必須要進行造輪子的操作,這時候多瞭解一些第三方庫可以更有利於我們的開發。
本作品採用《CC 協議》,轉載必須註明作者和本文連結