2

我正在尝试创建一个应用程序,您可以在其中输入 Web url ( http://www.explosm.net/comics/3104/),它会自动保存一个字符串,其中包含给定 xpath ( //*[@id="maincontent"]/div[2]/div[2]/div[1]/img) 时找到的第一个链接,这是我要下载的图片。

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

任何帮助将不胜感激。

4

1 回答 1

2

使用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");
于 2013-03-10T03:14:22.590 回答