如何使用xpath提取链接

本文关键字:链接 提取 xpath 何使用 | 更新日期: 2023-09-27 18:03:14

我想做一个应用程序,你输入一个web url (http://www.explosm.net/comics/3104/),它会自动保存一个字符串,它发现给定的xpath (//*[@id="maincontent"]/div[2]/div[2]/div[1]/img)的第一个链接,这是一张我想下载的图片。

老实说,我甚至不知道从哪里开始。我已经尝试了HtmlAgilityPackWebBrowser类,但我找不到任何东西来帮助我了解该做什么以及如何去做。

如何使用xpath提取链接

使用 htmllagilitypack 非常简单。

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");