我试图通过使用文件名称空间中页面的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
如何只使用第一个链接下载此文件?
答案 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)
wget http://upload.wikimedia.org/wikipedia/commons/9/92/A_golden_tree_during_the_golden_season.JPG
您提取的网页不是图片本身。
答案 3 :(得分:0)
您可以使用以下链接进行检索:https://upload.wikimedia.org/wikipedia/commons/9/92/A_golden_tree_during_the_golden_season.JPG 即使我遇到了同样的问题,请单击图像您将获得上面的链接,希望对您有帮助