从维基共享资源下载图片

时间:2009-09-23 17:00:09

标签: image wikipedia-api mediawiki-api pywikibot wikimedia-commons

是否有人知道如何在不注册Bot帐户的情况下以编程方式从维基共享资源下载图像?似乎获得Bot帐户批准的唯一方法是添加或编辑维基媒体上已有的信息。如果您尝试下载任何图像,没有机器人帐户,使用一些api库,您会收到错误消息而不是图像。好像他们阻止任何不从浏览器进来的人?其他人有这方面的经验吗?我在这里错过了什么吗?

5 个答案:

答案 0 :(得分:18)

我自己刚刚完成这件事,我觉得我应该分享:

http://www.mediawiki.org/wiki/API:Allimages

此API文档确实说明您可以查询图像:

http://en.wikipedia.org/w/api.php?action=query&list=allimages&aiprop=url&format=xml&ailimit=10&aifrom=Albert

使用aiprop = url,您将获得所需图像的网址。

答案 1 :(得分:4)

尝试准确解释您想要做什么? 你尝试过什么?你得到了什么错误信息? 你不是很清楚......

你试过哪些图书馆?如果您没有攻击性,则下载WM内容没有任何限制。我从来没有听说过任何限制。 一些用户代理被禁止编辑以避免愚蠢的垃圾邮件,但实际上,我从未听说过下载限制。

如果你试图刮掉大量图像,通过Commons下载它们,你做错了(tm)。如果你试图获得一些图像,从10到200,你应该能够在几行代码中编写一个不错的工具,只要你尊重限制要求:当API告诉你减速时,如果你不这样做,系统管理员很可能会把你踢出去。

如果您需要完整的图像转储(我们谈论的是几个TB),请尝试询问wikitech-l。当图像较少时,我们可以使用种子,现在它更复杂,但仍然是doable

关于僵尸帐户。你在系统中的深度有多深?您需要一个机器人帐户才能进行快速,无人监督的编辑。 Bot权限还会打开一些设施,例如增加查询大小。但请记住:机器人帐户?它只是一个增强的用户帐户。您是否尝试使用经典帐户运行任何内容?

答案 2 :(得分:1)

请注意,使用LWP曾经存在一个问题:它不是表意的,它是实用的,代理可以在已经拉伸的服务器上创建大量负载。代理商用户可以采取明智的策略来减轻负担 - 请访问www.mediawiki.org或en:乡村泵 - 技术

答案 3 :(得分:0)

没找到我正在寻找的答案..但这个页面很有趣:: http://www.makeuseof.com/tag/4-free-tools-for-taking-wikipedia-offline/

特别是#4 ..但似乎页面已关闭..项目已经死了?

答案 4 :(得分:0)

如果您需要一百万到一百万个文件,使用Magnus Manske的工具来递归类别是一个不错的选择。 http://tools.wmflabs.org/magnustools/can_i_haz_files.html生成一个UNIX命令列表,然后您可以在本地运行。