1868


とある処理で検索エンジンなどのロボットを判定する必要があり、Pythonモジュールを探しています。

User-Agent文字列もしくは、WSGIのrequestを渡すことでロボットかどうか判定してくれるモジュールがもしあれば教えてください。


CC BY-SA 3.0
2014-12-17T04:47:44.147
1863
2014-12-17T05:14:36.570
2811
question
python
検索エンジンなどのロボットを判定するPythonモジュールはありますか？


「ズバリそのもの」のモジュールがあります → [`robot-detection`](https://pypi.python.org/pypi/robot-
detection) 下記のサンプルコードにあるように、 User-Agent 文字列によってロボット判定が行われます。

[code]

    >>> import robot_detection
    >>> robot_detection.is_robot(user_agent_string)
    
[/code]


CC BY-SA 3.0
2014-12-17T04:59:31.767
1865
2014-12-17T04:59:31.767
2432
1863
answer


python-user-agents(<https://github.com/selwin/python-user-agents>)  
の ‘is_bot‘ で判別できると思います。


CC BY-SA 3.0
2014-12-17T05:04:13.633
1866
2014-12-17T05:04:13.633
3054
1863
answer


[woothee-python](https://github.com/woothee/woothee-python) というものがあります。

特徴は以下の通りです。

  * User-Agent のデータセットは [GitHub](https://github.com/woothee/woothee) 上で継続的にメンテナンスされている
  * 同一データセットを用いた同様のライブラリが[多言語](https://github.com/woothee)で用意されている

クローラの判定については以下のようにできます。

[code]

    woothee.is_crawler('Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)')
    // => False
    
[/code]


CC BY-SA 3.0
2014-12-17T05:14:36.570
1868
2014-12-17T05:14:36.570
3025
1863
answer