0

私はその日のイメージのためにhttp://apod.nasa.gov/をかき集めています。これまでのところ、イメージ ソース タグと思われるものを返すことができました。

#!/usr/bin/env python
from urllib2 import urlopen
from BeautifulSoup import BeautifulSoup

class Apod:
    def apod_wallpaper(self):
        self.soup = BeautifulSoup(urlopen('http://apod.nasa.gov/').read())
        self.pic = self.soup.find('img')
        return self.pic


print Apod().apod_wallpaper()


>>> ./apod.py

>>> <img src="image/1208/Ma2011-2Tezel900.jpg" name="imagename1" alt="See Explanation.
Moving the cursor over the image will bring up an annotated version.
Clicking on the image will bring up the highest resolution version
available." />

ここから実際に.jpgをダウンロードする方法がわかりませんか?

4

2 に答える 2

4

ステップ 1: HTML ファイルを読み取ります。

srcステップ 2:見つけた画像から属性を抽出します。ドメインhttp://apod.nasa.gov/src値を連結image/1208/Ma2011-2Tezel900.jpgして、画像の取得に使用する URL を作成します。

ステップ 3: 実行urlopen(...).read()してファイルに書き込む


例えば:

data = urlopen('http://apod.nasa.gov/image/1208/Ma2011-2Tezel900.jpg').read()
open('mypic.jpg', 'wb').write(data)
于 2012-08-10T04:00:01.330 に答える
3

あなたがしたいurlparse.urljoin()

>>> urlparse.urljoin('http://apod.nasa.gov/', 'image/1208/Ma2011-2Tezel900.jpg')
'http://apod.nasa.gov/image/1208/Ma2011-2Tezel900.jpg'
于 2012-08-10T04:00:37.913 に答える