首页 > 解决方案 > 如何从网站下载图片?

问题描述

我正在尝试制作基于“AngleSharp”的解析器。
我使用以下代码进行下载:

var itemsAttr = document.QuerySelectorAll("img[id='print_user_photo']"); 
string foto_url = itemsAttr[0].GetAttribute("src");
string path = pathFolderIMG + id_source + ".jpg";

WebClient webClient = new WebClient(); 
webClient.DownloadFile(foto_url, path);

对于页面“type_1” -链接- 代码有效。
对于页面“type_2” -链接- 代码不起作用。

如何下载“type_2”页面的照片?

标签: c#anglesharp

解决方案


请仔细阅读 AngleSharp 文档,例如,查看我们得到的常见问题解答:

var imageUrl = @"https://via.placeholder.com/150";
var localPath = @"g:\downloads\image.jpg";
var download = context.GetService<IDocumentLoader>().FetchAsync(new DocumentRequest(new Url(imageUrl)));

using (var response = await download.Task)
{
    using (var target = File.OpenWrite(localPath))
    {
        await response.Content.CopyToAsync(target);
    }
}

我们使用了类似的配置

var config = Configuration.Default.WithDefaultLoader(new LoaderOptions { IsResourceLoadingEnabled = true }).WithCookies();
var context = BrowsingContext.New(config);

推荐阅读