答えて
少し遅くなることがあります。)
は、最後に私は、すなわち自分自身を書く提案#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. jsonの '<>'値の解析と文字列化
- 3. cat <<を理解する!構文
- 4. <<<と終了区切り文字で文字列を埋めることができるときは、何を呼び出すのですか?
- 5. これらのJSON文字列を解析するには?私はそれらを解析するgsonを使用しようとしている <a href="http://pastebin.com/ckUZadwL" rel="nofollow">http://pastebin.com/ckUZadwL</a></p> <p>:
- 6. 文字列を数式に変換しますか?</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>のような文字列式をしたい:
- 7. C++文字列オブジェクトの表示/印刷方法は? cout << int works、cout << string not
- 8. 我々は<code>JSON.parse</code>は文字列化<code>JSON</code>を解析し、知っているように引数はJSON形式
- 9. Heredoc <<<または<<?
- 10. AndroidのXML解析で文字 "<"が返される
- 11. Typescript。これは必須の参照を追加するための有名な</p> <pre><code>/// <reference </code></pre> <p>ラベルを追加するために必要とされた活字体の古いバージョンでは
- 12. 追加の「<」(<)文字3.2
- 13. Perlの文字列の乗算がundefで警告しないのはなぜですか?</p> <pre><code>$foo . '' </code></pre> <p>と</p> <pre><code>"$foo" </code></pre> <p>
- 14. Pythonを使ってコメント用の.hファイルを解析する簡単な方法は?簡単な方法で<strong>コメント</strong>と<strong>Pythonの</strong>を使用してエンティティ名の<strong>C</strong>で書かれ<strong>の.h</strong>ファイルを解析する方法
- 15. のArrayList <HashMapの<文字列、文字列>>へのString []
- 16. のArrayList <Hashtableの<文字列から値を取得する方法を、ArrayListの<String> >>
- 17. RoR:構文解析のHTML < <と他の同様のHTMLとリテラル
- 18. Entity Frameworkのは <p></p>エラーは、文字列
- 19. Swiftの複数の文字列に対してUISearchBarをフィルタリングする方法は?上部に<code>UISearchBar</code>と<code>tableViewController</code>に<code>tableViewCell</code>を作成するために使用されるS <code>title</code>と<code>subtitle</code>:
- 20. だから私は私の<code>config.fish</code>に次の文字列を持っている、と<code>init.vim</code>文字列
- 21. </em><strong>と</strong><em>文字列(既に存在)</strong><em>番号</em> exept与えられた文字列から<strong>のすべてを削除するには、このコードを変更する方法にpreg_replace
- 22. 値が<select><option>文字列として戻る
- 23. チェックリスト文字列は、私は何もない空間(「<em>_</em> _」)</p> <pre><code>List<string> MyList = (List<string>)Session["MyList "]; if(MyList !=null || MyList != "") { } </code></pre> <p>マイリストのリストを持っている
- 24. 彼らはJavaScriptの文字列で</p> <p><strong>/</strong></p> <p>代わりの</p> <p><strong>"</strong></p> <p>を使用しないのはなぜJavaScriptの文字列の引用符は、メソッド
- 25. 文字列から接尾辞を削除するには?それは接尾ことを含んでいる場合、一部の文字列から</p> <ol> <li>PX</li> <li>%</li> <li>EM</li> </ol> <p>:
- 26. マウスは、マウスが<code>.wrap</code>、<code>.cube</code>と<code>.front</code>のために働いてではなく、<code>.left</code>、<code>.right</code>、<code>.top</code>、<code>.bottom</code>と<code>.back</code>のためにされ
- 27. Javaの - 私は基本的に<code>!</code>、<code>.</code>、<code>?</code>、<code>:</code>、<code>;</code>があるたびに、(私がやっているのため)ので、文章に基づいて文字列を分割したい
- 28. スプリットハイブエディタ内の区切り文字に基づいて、列<code>india</code>に<code>'|'</code>と<code>korea</code></p> <p>に基づいて<code>'india|koria'</code>のような文字列を分割するクエリを作成する方法
- 29. "<br /><b>解析エラー</b>:構文エラー、予期しない '{' 行に<b>/home/site/public_html/devel/modules//filter.php</b><br />に"
- 30. PLSQLは、私が</p> <pre><code>'"sadf asd " <[email protected]>' '"[email protected] " <[email protected]>' </code></pre> <p>を次のように入力文字列を持って引ける文字列から
機能の検出のためのブラウザのOSとバージョンによりますが、それは良い戦略ではありません。どのような問題を解決しようとしていますか? –
私たちのウェブアプリケーション用の簡単なチケットレポーターフォームがあります。そして、私たちは頻繁にユーザーにbroswer/OSなどを尋ねるので、事前に検出してユーザーに確認するようにしてください。 これは簡単ではないが、ユーザーエージェントをダンプするだけですが、ユーザーが別のブラウザを使用してチケットを送信している可能性があるので、質問する必要があります。 – Shekhar
Pythonにフォームをレンダリングさせ、Javascriptを使用して入力フィールドの値を現在のOSの値に変更することができます。 – NerdyNick