2

imgur へのリンクにファイル拡張子が付いていない場合があります。例: http://imgur.com/rqCqA. ファイルをダウンロードして既知の名前を付けるか、より大きなコード内で名前を取得したいと考えています。問題は、ファイルの種類がわからないので、どの拡張子を付ければよいかわかりません。

Pythonまたはbashでこれを達成するにはどうすればよいですか?

4

4 に答える 4

8

Imgur JSON APIを使用する必要があります。requestsを使用した Python の例を次に示します。

import posixpath
import urllib.parse
import requests

url = "http://api.imgur.com/2/image/rqCqA.json"
r = requests.get(url)
img_url = r.json["image"]["links"]["original"]
fn = posixpath.basename(urllib.parse.urlsplit(img_url).path)

r = requests.get(img_url)
with open(fn, "wb") as f:
    f.write(r.content)
于 2012-10-15T21:18:20.133 に答える
4

以前にこれを使用して、大量の xkcd ウェブコミックをダウンロードしましたが、これでも機能するようです。

def saveImage(url, fpath):
    contents = urllib2.urlopen(url)
    f = open(fpath, 'w')
    f.write(contents.read())
    f.close()

お役に立てれば

于 2012-10-15T21:22:27.497 に答える
3

次の URL にアクセスしてみました。

そして、それらはすべて機能しました。Imgur には、同じ画像の複数のタイプが保存されているようです。好きなものを選択できます。

于 2012-10-15T21:07:00.043 に答える
0

BeautifulSoup などを使用してページのソースを解析し、src で写真のハッシュを含む img タグを探すことができます。あなたの例では、写真は

<img alt="" src="http://i.imgur.com/rqCqA.jpg" original-title="">
于 2012-10-15T21:05:34.040 に答える