2010-12-18 88 views
-1

我需要它出现在这个页面上的每个图像的镜像:如何使用wget从“wikimedia搜索结果”下载图片?

http://commons.wikimedia.org/w/index.php?title=Special:Search&ns0=1&ns6=1&ns12=1&ns14=1&ns100=1&ns106=1&redirs=0&search=buitenzorg&limit=900&offset=0

镜结果应该给我们的全尺寸图像,而不是缩略图。 用wget做这件事的最好方法是什么?

UPDATE:。
对不起,让你在过去&死链接导致此线程否决:( 我更新下选中的回答解决

+0

不要添加“更新”部分,而要回答自己的问题并将其标记为已接受。 – Greg 2011-07-14 04:11:15

回答

0

在stackoverflow编辑器中编写所有脚本非常困难,您可以在下面的地址找到脚本。该脚本仅下载第一页上的所有图像,您可以修改它以在另一个页面中自动下载过程。

http://pastebin.com/xuPaqxKW

0

正则表达式是你的朋友,我的朋友! 使用猫,egrep的和wget你会得到这个任务完成的相当快 下载的搜索结果URI wget的,然后运行

cat DownloadedSearchResults.html | egrep (?<=class="searchResultImage".+href=").+?\.jpg/ 

这应该给你可以通过http://commons.wikimedia.org/指向每个图片的网页。现在,这些结果中的每一个,下载并运行程序:

cat DownloadedSearchResult.jpg | egrep (?<=class="fullImageLink".*href=").+?\.jpg 

这应该给你一个直接链接到可用于该图像的最高分辨率。

我希望你的bash知识能够完成剩下的工作。祝你好运。

+0

兄弟,“意想不到的(期待”)“)”当消耗egrep模式时出现。你能纠正这个吗?谢谢 – Brain90 2010-12-18 14:52:57

+0

我不知道egrep如何处理正则表达式,也许你必须指定任何类型的参数?尝试人egrep看到 – Machinarius 2010-12-18 16:55:32