答えて
少し遅くなることがあります。)
は、最後に私は、すなわち自分自身を書く提案#1で行くことにしました。私はその結果に満足しています。それはここに私がなど
パッチを適用送る/変更/自由にお使いください - Hicro Keeさんによって>http://pypi.python.org/pypi/httpagentparser
これは携帯電話で特にうまく機能していないようです。特に、ブラックベリーは検出されません。 (あなたはそれを書くために私の+1を持っていますが) –
@Jason Sundramエージェントの文字列と期待される結果を提供することによって助けてくれれば、ブラックベリー、その他のものをサポートすることができます。 https://github.com/shon/httpagentparser/issues – Shekhar
私は比較に興味がありましたが、それは公正な点です。引っ込められた –
しかし、Python側でこれをすべて解析したい場合は、XML/INIファイルはhttp://browsers.garykeith.com/downloads.aspで提供され、ユーザーエージェントのルックアップを行います。これは、phpのget_browser()関数で使用されるのと同じファイルです。
Th Browser Cap Parserが有効です。それは自分の質問に答えるけれども...
UASparser for Python 。バージョン・チェッキングを使用してリモート・サーバーからデータファイルとキャッシュを自動更新します。
私はUA Parserもお勧めします。 – Dexter
the full corpus of Firefox User Agentsに対してこれらの提案を実行したところ、比較のためにバージョン番号の解析が非常に悪いことがわかりました。
これが必要な場合は、プロジェクトの一部であったUAparserをご覧ください。 Documentation here.
私はもっと最新のバージョンがこのレポにあると思う:https://github.com/tobie/ua-parser – mbarkhau
Werkzeugには、ユーザーエージェントの構文解析が組み込まれています。
http://werkzeug.pocoo.org/docs/0.10/utils/#module-werkzeug.useragents
この質問に対する他の応答は今かなり古いです。私はブラウザユーザーエージェントの解析の新しい標準がBrowserscopeのuser agent parserだと信じています。 まったく同じマッチングパターンmany other languagesでと便利に利用できるまた
。 JavaScriptでいくつかのUA文字列を解析し、解析の一貫性を心配する必要はありません。
- 1. -JSONValueは<strong>JSON</strong>解析のための
- 2. エラー:[$解析:lexerr]レクサーエラー:</p> <p>エラー:[$解析:lexerr]レクサーエラー:列</p> <p>しかし、私の予期しない次の文字列
- 3. 解析と私は、文字列</p> <pre><code><brns ret = "Herld" other = "very"> <brna name = "ame1"> </code></pre> <p>を解析して辞書を作成したいのdictパイソン
- 4. のJava 8の変換リスト<地図<文字列、文字列>マップする<文字列、地図<文字列、文字列>>
- 5. は、私は、文字列中で</li> </ol> <p>を2つのリスト</p> <ol> <li>ネストされた文字列のリスト、および</li> <li>リストを持っている「system.collections.generic.list文字列」
- 6. Javaのエンコードは、エンコード文字列の文字列をエンコード</p> <pre><code>String encoded=encodeFileToBase64Binary("file.fmr"); </code></pre> <p>//を取得する//他のエンコードされた文字列と一致するにはBase64文字列に
- 7. jsonの '<>'値の解析と文字列化
- 8. cat <<を理解する!構文
- 9. iOS:AlamofireのSwiftyJSON解析は配列です。</p> <pre><code>[ { " ..... </code></pre> <p>私はこれを解析するためにswiftyJSONを使用しています、私はAlamofire要求からデータを得た:
- 10. は、私はあなたが見る構文</p> <pre><code>lazy val expr: Parser[Term ~ Option[<recursion>]] = term ~ opt(expr) </code></pre> <p>の文字列を解析する必要がScalaの
- 11. <<<と終了区切り文字で文字列を埋めることができるときは、何を呼び出すのですか?
- 12. Pythonは私が<em>文字列</em>次ている文字列
- 13. XML文字列は、私はこの<strong>文字列</strong>まし
- 14. グループ日付<辞書<文字列、文字列>>
- 15. これらのJSON文字列を解析するには?私はそれらを解析するgsonを使用しようとしている <a href="http://pastebin.com/ckUZadwL" rel="nofollow">http://pastebin.com/ckUZadwL</a></p> <p>:
- 16. enumの文字列値を出力するために<<をオーバーロードする方法
- 17. 文字列を数式に変換しますか?</p> <pre><code>public double Calc(String expression) { // Code } </code></pre> <p>私はその後<code>Calc()</code>にそれを送り、それはそれを取得値を返す必要があり</p> <pre><code>"2 + 4 - (3 * 4)" </code></pre> <p>のような文字列式をしたい:
- 18. 解析が<!-- -->
- 19. 解析XML <CDATA [----]]
- 20. C++文字列オブジェクトの表示/印刷方法は? cout << int works、cout << string not
- 21. 我々は<code>JSON.parse</code>は文字列化<code>JSON</code>を解析し、知っているように引数はJSON形式
- 22. pythonのデータ構造:map <文字列、ベクトル<int>>
- 23. MySQLバージョンでjson列を解析する方法<5.7
- 24. Typescript。これは必須の参照を追加するための有名な</p> <pre><code>/// <reference </code></pre> <p>ラベルを追加するために必要とされた活字体の古いバージョンでは
- 25. Heredoc <<<または<<?
- 26. AndroidのXML解析で文字 "<"が返される
- 27. は、私は上記の文字列から文字列<code>lookup</code>を抽出したい以下の文字列</p> <pre><code>[function('lookup')] </code></pre> <p>を持っている部分文字列の正規表現
- 28. Perlの文字列の乗算がundefで警告しないのはなぜですか?</p> <pre><code>$foo . '' </code></pre> <p>と</p> <pre><code>"$foo" </code></pre> <p>
- 29. Scalaの正規表現は:</p> <pre><code>val line = "Displaying elements 1 - 4 of 4 in total" </code></pre> <p>と私は合計金額を解析したい:<code>4</code>をこのケースでは私はこの<code>String</code>を持っている文字列
- 30. 追加の「<」(<)文字3.2
機能の検出のためのブラウザのOSとバージョンによりますが、それは良い戦略ではありません。どのような問題を解決しようとしていますか? –
私たちのウェブアプリケーション用の簡単なチケットレポーターフォームがあります。そして、私たちは頻繁にユーザーにbroswer/OSなどを尋ねるので、事前に検出してユーザーに確認するようにしてください。 これは簡単ではないが、ユーザーエージェントをダンプするだけですが、ユーザーが別のブラウザを使用してチケットを送信している可能性があるので、質問する必要があります。 – Shekhar
Pythonにフォームをレンダリングさせ、Javascriptを使用して入力フィールドの値を現在のOSの値に変更することができます。 – NerdyNick