अजगर urllib2 प्रतिक्रिया urlopen:अजगर urllib2 urlopen प्रतिक्रिया
<addinfourl at 1081306700 whose fp = <socket._fileobject object at 0x4073192c>>
की उम्मीद:
{ "टोकन": "mYWmzpunvasAT795niiR"}
अजगर urllib2 प्रतिक्रिया urlopen:अजगर urllib2 urlopen प्रतिक्रिया
<addinfourl at 1081306700 whose fp = <socket._fileobject object at 0x4073192c>>
की उम्मीद:
{ "टोकन": "mYWmzpunvasAT795niiR"}
आपको परिणामी फ़ाइल-जैसी ऑब्जेक्ट को एक चर में बाध्य करने की आवश्यकता है, ओ therwise दुभाषिया सिर्फ repr
के माध्यम से इसे उदासीनता:
>>> import urllib2
>>> urllib2.urlopen('http://www.google.com')
<addinfourl at 18362520 whose fp = <socket._fileobject object at 0x106b250>>
>>>
>>> f = urllib2.urlopen('http://www.google.com')
>>> f
<addinfourl at 18635448 whose fp = <socket._fileobject object at 0x106b950>>
वास्तविक डेटा एक read()
प्रदर्शन करने के लिए आप की जरूरत प्राप्त करने के लिए।
>>> data = f.read()
>>> data[:50]
'<!doctype html><html itemscope="itemscope" itemtyp'
देखने के लिए हेडर लौटे:
>>> print f.headers
Date: Thu, 23 Aug 2012 00:46:22 GMT
Expires: -1
Cache-Control: private, max-age=0
... etc ...
urlopen
print feed.read()
करने के लिए अपने कॉल के बाद निम्नलिखित जोड़े
शायद आप requests
library अधिक सहज ज्ञान युक्त का उपयोग कर urllib2
से उपयोग करने के लिए मिल जाएगा।
अच्छा कॉल, धन्यवाद! –
मेरे यहां एक प्रश्न है। यदि मैं 'f' से 'डेटा' की सामग्री संग्रहीत नहीं करता हूं, और बस' f.read()' निष्पादित करता हूं, तो मुझे केवल एक बार सामग्री मिलती है। अगर मैं फिर से 'f.read()' करता हूं, तो यह एक खाली स्ट्रिंग प्रिंट करता है। ऐसा क्यों है? –
@ सिद्धार्थसमेंट: क्योंकि आपने स्ट्रीम से सभी डेटा खपत किया है - यह 'urllib2' द्वारा आंतरिक रूप से संग्रहीत नहीं है। – mhawke