我正在尝试创建一个应用程序,您可以在其中输入网址(http://www.explosm.net/comics/3104/
),它会自动保存带有第一个链接的字符串它找到给定的 xpath (//*[@id="maincontent"]/div[2]/div[2]/div[1]/img
),这是我想要的图片下载。
老实说,我不知道从哪里开始。我尝试过 HtmlAgilityPack
和 WebBrowser
类,但找不到任何内容可以帮助我理解要做什么以及如何做。
任何帮助将不胜感激。
最佳答案
使用 HTMLAgilityPack 非常容易。
var w = new HtmlWeb();
var doc = w.Load("http://www.explosm.net/comics/3104/");
var imgNode = doc.DocumentNode.SelectSingleNode("//*[@id=\"maincontent\"]/div[2]/div[2]/div[1]/img");
var src = imgNode.GetAttributeValue("src", "");
变量src
的值为http://www.explosm.net/db/files/Comics/Matt/Dont-be-a-dickhead.png
.
然后您所要做的就是下载图像:
var request = (HttpWebRequest)WebRequest.Create(src);
var response = request.GetResponse();
var stream = response.GetResponseStream();
//Here you have an Image object
Image img = Image.FromStream(stream);
//And you can save it or do whatever you want
img.Save(@"C:\file.png");
关于c# - 如何使用 xpath 提取链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15318443/