我正在尝试通过使用指向文件命名空间中的页面的URL从Wikimedia Commons下载图像:
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
如果只有第一个链接,我如何下载此文件?
发布于 2013-02-23 12:18:59
您可以尝试以下操作:
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获取您指定的链接。我浏览了几个页面,发现高分辨率的图片都在class=fullMedia的div下。它解析图像的url,然后获取该图像。
PS:如上所述,bash并不是一种很好的方式。你应该看看能解析dom树的东西。
发布于 2014-06-03 00:04:56
提取不带名称空间的标题(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' )发布于 2013-02-23 10:22:58
wget http://upload.wikimedia.org/wikipedia/commons/9/92/A_golden_tree_during_the_golden_season.JPG
您获取的是网页,而不是图像本身。
https://stackoverflow.com/questions/15036304
复制相似问题