Aşağıdaki python komut dosyasına sahibim ve güzel çalışıyor. Ancak, verdiğim bazı URL'ler 2 veya daha fazla kez yeniden yönlendirebilir. Verileri yüklemeden önce yönlendirmelerin tamamlanmasını beklemek için python'u nasıl kullanabilirim? Örneğin bir google aramasında im şanslı düğmeye vurmanın equvilant olanPython yönlendirmeleri takip eder ve daha sonra sayfayı indirir mi?
http://www.google.com/search?hl=en&q=KEYWORD&btnI=1
ile yukarıdaki kodu kullanarak, alıyorum:
>>> 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 (url, veri, zaman aşımı çalıştı) Ancak, ne koymak için emin değilim.
DÜZENLEME: ben yönlendirmek yoksa aslında öğrendim ve sadece, bir sonraki yönlendirme yerini kapmak ve benim son halka olarak
sen aşina 'HTTPRedirectHandler' – RanRag
Ben değildim. Sadece googled. Bunu takip etmeyi nasıl başarabileceğimi görebiliyorum. Ancak, bunu zorlayamayacağım – Cripto
'u takip etmeliyim, bir süredir biliyorum, ama bellek kasasında derinlik kazabilir ve bu sorunu nasıl çözdüğümü söyleyebilir misiniz? Teşekkürler! – tmthyjames