2012-05-10 9 views
14

मैं कुछ वेबसाइटों से जानकारी प्राप्त करने के लिए पायथन का उपयोग करना चाहता हूं। मैं http ग्राहक इस शर्तों को पूरा करना चाहते हैं:क्या आप कुछ पायथन http क्लाइंट लाइब्रेरी की सिफारिश कर सकते हैं?

  1. https
  2. का समर्थन करता है बहुत अधिक स्मृति का उपयोग नहीं होगा, प्रक्रियाओं या धागे का एक बहुत उत्पन्न नहीं करना चाहिए।
  3. स्पष्ट प्रलेखन है और सक्रिय रूप से समर्थित है

मुझे पता है कि requests, tornado, या gevent -httpclient मेरे काम खत्म कर सकते हैं, लेकिन मैं नहीं जानता कि जो सबसे अच्छा है? या क्या कुछ और विकल्प हैं?

या C/c++ में कुछ अन्य विकल्प लिखे गए हैं।

धन्यवाद!

उत्तर

22

requests का उपयोग करें। इसमें विभिन्न पुस्तकालयों का सबसे ही एपीआई है।

+0

मैंने टर्ननाडो के बारे में जानकारी पढ़ी, कोई इसे कुशल कहता है, अनुरोधों के बारे में दक्षता के बारे में कैसे? – Djvu

+0

टोरनाडो कुशल है यदि आप एसिंक्रोनस प्रोसेसिंग से लाभ प्राप्त कर सकते हैं, यानी यदि आपको कई समांतर कनेक्शन की आवश्यकता है। हालांकि, * अनुरोध * एसिंक्रोनस अनुरोधों का भी समर्थन करता है: http://docs.python-requests.org/en/latest/user/advanced/#asynchronous-requests - और यह बेहतर फिट बैठता है क्योंकि टॉरनाडो http क्लाइंट की तुलना में अधिक वेबसर्वर है पुस्तकालय। – ThiefMaster

+0

सावधान रहें कि 'अनुरोध' 'urllib3' का उपयोग करता है जो कुछ मामलों में स्वचालित रूप से अनुरोध दोहराता है। दोहराने से बचने के लिए यह महत्वपूर्ण हो सकता है। – temoto

2

एक और विकल्प httplib2 है।

  • सरल (और इसलिए कुशल)
  • सब कुछ का समर्थन करता है एक की जरूरत है और अजगर 3
  • Github पर नहीं
  • कुछ महीने पहले अगले पास कर सकते हैं प्रतिबद्ध (आंशिक रूप से, क्योंकि यह सिर्फ काम करता है)
+0

मैं httplib2 एटीएम का उपयोग करता हूं। यह py3 का समर्थन करता है, लेकिन py3 पर प्रॉक्सी का समर्थन नहीं है। यह अच्छा है और यह सिर्फ काम करता है, लेकिन आधिकारिक ट्रैकर पर कई मुद्दे हैं जो वर्षों से अटक गए हैं। – sshilovsky

संबंधित मुद्दे

 संबंधित मुद्दे