我正在尝试创建一个您输入网址(http://www.explosm.net/comics/3104/
)的应用程序,它会自动保存一个字符串,其中包含给定xpath(//*[@id="maincontent"]/div[2]/div[2]/div[1]/img
)的第一个链接,这是一个图片我想下载。
老实说,我不知道从哪里开始。我已经尝试了HtmlAgilityPack
和WebBrowser
课程,但我找不到任何可以帮助我了解该做什么以及如何做的事情。
非常感谢任何帮助。
答案 0 :(得分: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");