首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >wget wikimedia图片?

wget wikimedia图片?
EN

Stack Overflow用户
提问于 2013-02-23 10:20:56
回答 4查看 799关注 0票数 3

我正在尝试通过使用指向文件命名空间中的页面的URL从Wikimedia Commons下载图像:

代码语言:javascript
复制
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

如果只有第一个链接,我如何下载此文件?

EN

回答 4

Stack Overflow用户

发布于 2013-02-23 12:18:59

您可以尝试以下操作:

代码语言:javascript
复制
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树的东西。

票数 2
EN

Stack Overflow用户

发布于 2014-06-03 00:04:56

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

代码语言:javascript
复制
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
EN

Stack Overflow用户

发布于 2013-02-23 10:22:58

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

您获取的是网页,而不是图像本身。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15036304

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档