2010-01-20 4 views
6

में रेफ़रल यूआरएल सेटिंग मैं वेबसाइट डाउनलोड करने के लिए पाइथन में urllib.urlretrieve का उपयोग कर रहा हूं। हालांकि कुछ वेबसाइटें मुझे नहीं डाउनलोड करना चाहती हैं, जब तक कि उनके पास अपनी साइट से उचित संदर्भकर्ता न हो। क्या किसी को इस तरह से पता है कि मैं पाइथन पुस्तकालयों में से एक या बाहरी में रेफरर सेट कर सकता हूं।पाइथन urllib.urlretrieve

उत्तर

3

urllib अनुरोध के साथ मनमाने ढंग से शीर्षलेख भेजना मुश्किल बनाता है; आप urllib2 का उपयोग कर सकते हैं, जो आपको Request ऑब्जेक्ट को मनमाने ढंग से शीर्षकों के साथ बनाने और भेजने की सुविधा देता है (बेशक - अलस दुख की वर्तनी ;-) - Referer)। urlretrieve की पेशकश नहीं करता है, लेकिन अगर आप चाहते हैं (सीधे, या उदा। shutil फ़ंक्शंस के माध्यम से) के साथ परिणामस्वरूप फ़ाइल-जैसी ऑब्जेक्ट को डिस्क पर कॉपी करें और प्रतिलिपि बनाना urlopen है।

3

इसके अलावा से अपनाया, build_opener साथ urllib2 का उपयोग कर आप यह कर सकते हैं:

import urllib2 
opener = urllib2.build_opener() 
opener.addheaders = [('Referer', 'http://www.python.org/')] 
opener.open('http://www.example.com/')