从维基媒体下载图像

Download image from Wikimedia

我阅读了一些文档,经过一些研究,我不确定是否有简单的方法可以做到这一点。

我正在使用 MusicBrainz 获取艺术家的图像。产生这个 URL

https://commons.wikimedia.org/wiki/File:Michael_Jackson_in_1988.jpg

我想下载图片(我已经制作好)但我不知道正确的步骤是什么?

我读过几本 link,但似乎都过时了,包括:

Download image from the site in .NET/C#

这并没有回答我的问题,因为我已经有了下载图像的方法。在这种情况下,我所追求的是一种使用上面的 link 获取图像 URL 的方法,其中包含下载 links.

我确实读过一个针对 API 的 link 但同样是过时的并且准备好帮助页面没有提到这个 API (所以它可能是第三方) .

我有下载图片的所有东西,它只是得到正确的 URL,可以在我上面发布的 link 上找到,但我不知道如何提取 URL ?

您可以使用 Html Agility Pack 获取 html 页面中的所有 <a href 元素,然后查找具有图像类型扩展名的元素。

var document= new HtmlWeb().Load("https://commons.wikimedia.org/wiki/File:Michael_Jackson_in_1988.jpg");
var allhrefs = document.DocumentElement.SelectNodes("//a[@href]");

我确定它们共享一个共同的结构,所以我会让你弄清楚。快速浏览一下,第一个 <a href 似乎指向原始图像。

var imagelink = allhrefs.FirstOrDefault();


编辑:如果您想更加小心,可以通过查找 class='fullImageLink' div 和 id='file' 来过滤节点。这似乎将 <a href 托管到原始图像。