wget wikimedia图片?

时间:2013-02-23 02:20:56

标签: bash shell wget wikimedia-commons

我试图通过使用文件名称空间中页面的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 个答案:

答案 0 :(得分: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')

第一个wget获取您指定的链接。我浏览了几页,发现高分辨率图像位于div下,类= fullMedia。它解析图像的URL,然后获取该图像。

PS :如上所述,bash并不是一种巧妙的方法。你应该看一下解析dom树的东西。

答案 1 :(得分:2)

提取不带名称空间的标题(A_golden_tree_during_the_golden_season.JPG)并将其传递给Special:Redirect

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' )

答案 2 :(得分:0)

答案 3 :(得分:0)

您可以使用以下链接进行检索:https://upload.wikimedia.org/wikipedia/commons/9/92/A_golden_tree_during_the_golden_season.JPG 即使我遇到了同样的问题,请单击图像您将获得上面的链接,希望对您有帮助