HTTP ユーザーエージェント文字列の解析
-
06-09-2019 - |
質問
Python でユーザー エージェント文字列を解析して確実に検出するための最良の方法は何ですか?
- ブラウザ
- ブラウザのバージョン
- OS
あるいはそれを行うヘルパー ライブラリかもしれません
解決
自分の質問に答える;)
最後に、私は自分自身を書く提案#1、すなわちで行くことにしました。そして、私は結果に満足しています。などをパッチを送っ/修正/使用気軽にしてください。
他のヒント
UASparser Pythonのの Hicro Keeさんによります。自動バージョンチェックをリモートサーバーからのデータ・ファイルとキャッシュを更新します。
WERKZEUGは、ユーザーエージェントの構文解析を内蔵しています。
新しいリンク(2018年6月) http://werkzeug.pocoo.org/docs/0.14/utils /#module-werkzeug.useragentsする
Firefoxのユーザエージェントの完全なコーパスをに対するこれらの提案を実行した、私が見つけましたバージョン番号は、比較のために解析することは非常に貧弱です。
それは何が必要だ場合は、、私はあなたがために使用 UAparser のを見て、取ることを示唆しています browserscope のプロジェクトの一環。ここドキュメント。に
この質問に対する他の回答はかなり古いものになっています。ブラウザ ユーザー エージェント解析の新しい標準は Browserscope のものだと思います。 ユーザーエージェントパーサー.
も便利に利用できます まったく同じ一致パターン で 他の多くの言語. 。いつか、JavaScript で UA 文字列も解析したいと思うかもしれません。その場合、解析の不一致を心配する必要はありません。
Thのブラウザキャップパーサには動作するはずです。それはしかし少し遅くなることがあります..
ただし、これをすべて Python 側で解析したい場合は、次の場所で提供される XML/INI ファイルを使用できます。 http://browsers.garykeith.com/downloads.asp ユーザー エージェントのルックアップを実行します。これは、php の get_browser() 関数で使用されるのと同じファイルです。