3

ファイル名前空間のページへの URL を使用して、ウィキメディア コモンズから画像をダウンロードしようとしています。

wget http://commons.wikimedia.org/wiki/File:A_golden_tree_during_the_golden_season.JPG

取得できるのは、開くことができないJPGファイルだけです。ただし、リンクにアクセスすると、実際には画像自体ではなくページが表示されますが、「フル解像度」と呼ばれるリンクがあり、実際の画像リンクに移動します: http://upload.wikimedia.org/wikipedia /commons/9/92/A_golden_tree_during_the_golden_season.JPG

最初のリンクだけでこのファイルをダウンロードするにはどうすればよいですか?

4

4 に答える 4

2

次のことを試すことができます。

wget http://commons.wikimedia.org/wiki/File:A_golden_tree_during_the_golden_season.JPG -O output.html; wget $(cat output.html | grep fullMedia | sed 's/\(.*href="\/\/\)\([^ ]*\)\(" class.*\)/\2/g')

1 つ目wgetは、指定したリンクを取得します。いくつかのページを閲覧したところ、高解像度の画像がdivclass=fullMedia の下にあることがわかりました。画像の URL を解析し、その画像をフェッチします。

PS : 上で示唆したように、bash はこれをうまく行う方法ではありません。dom ツリーを解析するものを調べる必要があります。

于 2013-02-23T04:18:59.300 に答える
2

名前空間 ( ) なしでタイトルを抽出し、それをSpecial:RedirectA_golden_tree_during_the_golden_season.JPGに渡します。

wget http://commons.wikimedia.org/wiki/Special:Redirect/file/$( echo 'http://commons.wikimedia.org/wiki/File:A_golden_tree_during_the_golden_season.JPG' | sed 's/.*\/File\:\(.*\)/\1/g' )
于 2014-06-02T16:04:56.040 に答える
0

wget http://upload.wikimedia.org/wikipedia/commons/9/92/A_golden_tree_during_the_golden_season.JPG

画像自体ではなく、Web ページを取得していました。

于 2013-02-23T02:22:57.753 に答える