2011-10-01 14 views
5

インターネットのページからすべてのファイル、実際にはすべてのイメージファイルをダウンロードしたいと思います。 「urllib」モジュールが必要なものであることがわかりました。あなたがファイル名を知っていれば、ファイルをダウンロードする方法があるようですが、そうではありません。Pythonはインターネットアドレスからすべてのファイルをダウンロードしますか?

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

リストページからすべてのファイルをダウンロードし、多分返すメソッドはありますか?

+2

あなたは 'wget'について聞いたことがありますか? –

+1

[Web scraping with Python](http://stackoverflow.com/questions/2081586/web-scraping-with-python) – Mat

+0

多くの情報が見つかりません。おそらく小さなサンプルスクリプトですか? – Brock123

答えて

6

このような練習にはBeautifulSoupを使い始めました。このスクリプトにはURLを与え、という属性のページから参照される画像のURLをimgタグで表示します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.urlretrieveを使用することができますがfull_urlで指さが、その段階で、あなたはそれらに名前を付ける方法を決定すると、ダウンロードした画像をどのように処理するかを持っていますあなたの質問には指定されていません。

関連する問題