我阅读了一些文档,经过一些研究,我不确定是否有简单的方法可以做到这一点。
我正在使用MusicBrainz获取艺术家的图像。哪个生成此URL
https://commons.wikimedia.org/wiki/File:Michael_Jackson_in_1988.jpg
我想下载图像(我已经制作好了),但我不知道如何或正确的程序是什么?
我读了一些链接,所有的似乎都很过时,包括:
从.NET/C#中的站点下载图像
这不能回答我的问题,因为我已经有办法下载图片了。在这种情况下,我想要的是使用上面包含下载链接的链接访问图像URL的方法。
我确实读到了一个针对API的链接,但它的日期和准备好了,帮助页面没有提到这个API(所以它可能是第三方)。
我有下载图片的一切,它只是得到了正确的URL,可以在我上面发布的链接上找到,但我不知道如何提取URL?
您可以使用Html敏捷包获取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();
EDIT:如果您想更加小心,可以通过查找带有id='file'
的class='fullImageLink'
div来筛选then节点。这似乎将<a href
托管到原始图像。