2011-10-01 11 views
5

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

urllib.urlretrieve('http://www.example.com/page', 'myfile.jpg') 

वहाँ सभी पेज से फ़ाइलों को डाउनलोड और हो सकता है वापस जाने के लिए एक सूची के लिए एक विधि है?

+2

क्या आपने 'wget' के बारे में सुना है? –

+1

[पाइथन के साथ वेब स्क्रैपिंग] के संभावित डुप्लिकेट (http://stackoverflow.com/questions/2081586/web-scraping-with-python) – Mat

+0

अधिक जानकारी नहीं मिल सकती है। शायद एक छोटी सी उदाहरण लिपि? – Brock123

उत्तर

6

यह एक छोटा सा व्यायाम के इस प्रकार के लिए BeautifulSoup उपयोग करने के साथ आरंभ करने के लिए उदाहरण है - आप इस स्क्रिप्ट एक यूआरएल दे, और इसे बाहर छवियों के URL कि img टैग की src विशेषता में उस पृष्ठ से संदर्भित प्रिंट होगा jpg या png साथ कि अंत:

import sys, urllib, re, urlparse 
from BeautifulSoup import BeautifulSoup 

if not len(sys.argv) == 2: 
    print >> sys.stderr, "Usage: %s <URL>" % (sys.argv[0],) 
    sys.exit(1) 

url = sys.argv[1] 

f = urllib.urlopen(url) 
soup = BeautifulSoup(f) 
for i in soup.findAll('img', attrs={'src': re.compile('(?i)(jpg|png)$')}): 
    full_url = urlparse.urljoin(url, i['src']) 
    print "image URL: ", full_url 

तो फिर तुम छवियों में से प्रत्येक डाउनलोड करने के लिए उपयोग कर सकते हैं urllib.urlretrievefull_url द्वारा की ओर इशारा किया, लेकिन इस स्तर पर आप तय करने के लिए कैसे उन्हें नाम करने के लिए और डाउनलोड की छवियों के साथ क्या करना है , जो आपके प्रश्न में निर्दिष्ट नहीं है।