筆者一直習慣用requests庫模擬發送http請求, 然而開發老大說他用PHP對於相同的數據源(參數), 速度快很多, 還截圖給我看. 我表示真的嗎? 非常不解啊! requests講道理在我心中如此的優異, 不至於啊! 為什么如此慢呢!?
於是開發老大讓我研究下curl這種請求模式在python里的封裝對比下requests庫. 於是, 帶着疑惑的心情去試驗了下.
curl在python里被封裝成pycurl. 到目前(2017年8月9日)為止,官方還沒有宣稱支持Python 3.6+版本.
而requests庫幾乎支持所有版本,更新非常及時.
直接上結論吧:
1. 如果, 你的請求需要對服務器進行大量的IO操作, 那么請用requests;
2. 如果, 你的請求需要耗費大量帶寬(IO頻率低, 但一次性網絡傳輸數據量大), 在不超越帶寬限制的情況下, 請用pycurl.
實驗證明確實如此, 我的請求是一個搜索接口, 需要不斷對服務器進行IO操作(根據索引請求數據), 用requests還算快的, 用pycurl簡直慢成狗...
為什么PHP快, 后來發現, 我老大根本是直接把腳本放在了服務器上, 不需要走網絡...........................................2333
我...................
后來搜索Stack Overflow也跟我測試驗證結果一致, 鏈接地址:
https://stackoverflow.com/questions/15461995/python-requests-vs-pycurl-performance