2013-12-15 38 views
0

正如標題所說,我正在尋找有關使用Python發送HTTP請求的最佳庫的信息。Python中性能最好的HTTP庫

你知道哪一個是最快和/或消耗較少的CPU時間/內存?

  • 的urllib2
  • httplib2的
  • 請求

感謝

+0

正如Eric Lippert所說的那樣,「如果你有兩匹馬,並且你想知道哪兩匹馬跑得更快,那就比賽馬匹。」 http://ericlippert.com/2012/12/17/performance-rant/ –

回答

1

的urllib2可能會獲得更好的性能,但要求是更易於使用。

0

發送HTTP請求非常簡單,我不認爲這可能是大多數現實世界應用程序的塊問題。

如果你真的想發送請求非常快,你可以考慮使用多進程,而不是浪費你的時間在選擇更快的庫(這可能是無奈)。

2

你不應該浪費時間尋找一個快速的HTTP庫,相反,你應該考慮架構和大局。

這裏我列出了一些方向

  1. 使用異步網絡庫,如TwistedGeventTulip,以異步方式發送請求
  2. 使用multiprocessing模塊的Python,分配工作負載到不同的處理器
  3. 使用ZeroMQ,工作負載分配到不同的節點

通過尋找一個更好的HTTP庫可能只會讓你獲得5%〜20%的性能提升,但通過採用適當的方法來做到這一點,你可以從所有視圖中快速完成任務。你也可以結合上面提到的所有這些方式。

有關從Internet獲取信息(尤其是HTTP)的另一個性能問題,實際上解析HTML比發送請求要慢。 lxml是你最好的朋友,如果你想解析HTML/XML並從中快速獲取數據。你可以閱讀這個article about HTML parser performance