不使用API?
我知道有几种方法。
我正在使用mshtml库,这比webbrowser控件要好。我有效地实现了Internet Explorer的自动化。
基本上,我更喜欢直接获取图像而无需知道htmlimg的URL并下载它的方法。
我知道我可以从图像元素中获取URL并通过webclient下载它。 图像根据cookie和IP 而变化。这样就不会了。
我希望htmlimg元素显示的确切图像是存储的图像。
基本上,就像有人正在对屏幕上显示的内容进行本地截图一样。
最佳答案
这里有一个旧的解决方案:
http://p2p.wrox.com/c/42780-mshtml-how-get-images.html#post169674
这些天,尽管您可能想查看Html Agility Pack:
http://htmlagilitypack.codeplex.com/
但是文档并不十分出色。因此,此代码段可能会有所帮助:
HtmlDocument htmlDoc = new HtmlDocument();
htmlDoc.LoadHtml(html);
// You can also load a web page by utilising WebClient and loading in the stream - use one of the htmlDoc.Load() overloads
var body = htmlDoc.DocumentNode.Descendants("body").FirstOrDefault();
foreach (var img in body.Descendants("img"))
{
var fileUrl = img.Attributes["src"].Value;
var localFile = @"c:\localpath\tofile.jpg";
// Download the image using WebClient:
using (WebClient client = new WebClient())
{
client.DownloadFile("fileUrl", localFile);
}
}