मेरे पास निम्न पायथन स्क्रिप्ट है और यह खूबसूरती से काम करता है।पायथन रीडायरेक्ट का पालन करें और फिर पेज डाउनलोड करें?
import urllib2
url = 'http://abc.com' # write the url here
usock = urllib2.urlopen(url)
data = usock.read()
usock.close()
print data
हालांकि, कुछ यूआरएल मैं इसे 2 या अधिक बार रीडायरेक्ट कर सकता हूं। डेटा लोड करने से पहले रीडायरेक्ट को पूरा करने के लिए मेरे पास पाइथन इंतजार कैसे हो सकता है। उदाहरण के लिए जब
http://www.google.com/search?hl=en&q=KEYWORD&btnI=1
साथ ऊपर कोड है जो एक गूगल खोज पर im भाग्यशाली बटन से टकराने की equvilant है का उपयोग कर, मैं:
>>> url = 'http://www.google.com/search?hl=en&q=KEYWORD&btnI=1'
>>> usick = urllib2.urlopen(url)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 126, in urlopen
return _opener.open(url, data, timeout)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 400, in open
response = meth(req, response)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 513, in http_response
'http', request, response, code, msg, hdrs)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 438, in error
return self._call_chain(*args)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 372, in _call_chain
result = func(*args)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 521, in http_error_default
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
urllib2.HTTPError: HTTP Error 403: Forbidden
>>>
Ive (यूआरएल, डेटा, समय समाप्त करने की कोशिश की) हालांकि, मुझे यकीन नहीं है कि वहां क्या रखा जाए।
संपादित करें: मैं वास्तव में पता चला है कि अगर मैं अनुप्रेषित न और सिर्फ पहली कड़ी के शीर्षक का इस्तेमाल किया, मैं अगले रीडायरेक्ट का स्थान हड़पने और प्रयोग
आप से परिचित हैं 'HTTPRedirectHandler' – RanRag
मैं नहीं था। बस इसे गुगल किया। मैं देख सकता हूं कि इसे कैसे पालन नहीं किया जाए। हालांकि, मैं इसे – Cripto
का पालन करने के लिए मजबूर नहीं कर सकता हूं, मुझे पता है कि यह थोड़ी देर हो गया है, लेकिन क्या आप मेमोरी वॉल्ट में गहरी खुदाई कर सकते हैं और मुझे बता सकते हैं कि आपने इस समस्या को कैसे हल किया? धन्यवाद! – tmthyjames