不使用API?
我知道有几种方法。
我顺便使用mshtml库,这比webbrowser控件好。我正在有效地自动化Internet Explorer。
基本上我更喜欢直接拍摄图像而不必知道htmlimg的URL并下载它。
我知道我可以从image元素中获取URL并使用webclient下载它。 图片会根据Cookie和IP 而变化。所以不会这样做。
我希望htmlimg元素显示的确切图像是存储的图像。
基本上好像有人正在拍摄屏幕上显示内容的本地屏幕截图。
答案 0 :(得分:1)
这里有一个旧解决方案:
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);
}
}