2012-05-10 15 views
14

いくつかのWebサイトから情報を取得するためにpythonを使いたいと思います。 私はHTTPクライアントは、この条件を満たすようにしたい:いくつかのpython httpクライアントライブラリをお勧めしますか?

  1. があまりにも多くのメモリを使用することはありませんHTTPS
  2. をサポートし、プロセスまたはスレッドの多くを生成するべきではありません。
  3. は明確な文書を持っており、積極的に私はrequestsは、tornado、またはgevent -httpclient が私の仕事を終えることができることを知っている

サポートされていますが、私は最善であるかわかりませんか?またはいくつかの他の選択肢がありますか?

またはC/c++に記載されているその他の選択肢がある場合。

ありがとうございます!

答えて

22

requestsを使用してください。これは、さまざまなライブラリの中で最も同じAPIを持っています。

+0

を渡すことのすべてをサポートしています私は竜巻に関する情報を読んで、誰かが効率的だと言っていますが、要求についての効率はどうですか? – Djvu

+0

非同期処理、つまり多くの並列接続が必要な場合に利益を得ることができる場合、Tornadoは効率的です。しかし、*要求*は非同期要求もサポートしています。http://docs.python-requests.org/en/latest/user/advanced/#asynchronous-requests - これは、竜巻がhttpクライアントよりもWebサーバーであるために適していますとしょうかん。 – ThiefMaster

+0

'requests'は、場合によっては自動的にリクエストを繰り返す' urllib3'を使います。繰り返さないようにすることが重要です。 – temoto

2

もう1つのオプションはhttplib2です。

シンプル(したがって、効率的な)
  • のGithub
  • 上の1人のニーズとPython 3
  • ない
  • 数ヶ月は、(それだけで作品の一部ので)次のコミット前
+0

私はhttplib2 atmを使用します。それはpy3をサポートしますが、py3のプロキシのサポートは欠いています。その素晴らしいとそれはちょうど動作しますが、長年にわたって立ち往生している公式のトラッカーにいくつかの問題があります。 – sshilovsky

関連する問題