要获取指定站点的所有图片,您可以使用C#中的HttpClient和HTML解析库(如HtmlAgilityPack)来实现。
下面是一个简单的示例:
using System;
using System.Collections.Generic;
using System.Net.Http;
using HtmlAgilityPack;
public class Program
{
public static async Task Main()
{
string url = "https://example.com"; // 指定站点的URL
// 创建HttpClient实例
using (HttpClient client = new HttpClient())
{
// 发送GET请求并获取响应内容
HttpResponseMessage response = await client.GetAsync(url);
string htmlContent = await response.Content.ReadAsStringAsync();
// 使用HtmlAgilityPack解析HTML内容
HtmlDocument htmlDocument = new HtmlDocument();
htmlDocument.LoadHtml(htmlContent);
// 获取所有img标签
List<string> imageUrls = new List<string>();
foreach (HtmlNode imgNode in htmlDocument.DocumentNode.Descendants("img"))
{
string imageUrl = imgNode.GetAttributeValue("src", "");
if (!string.IsNullOrEmpty(imageUrl))
{
// 如果图片URL是相对路径,则拼接成绝对路径
if (!Uri.IsWellFormedUriString(imageUrl, UriKind.Absolute))
{
imageUrl = new Uri(new Uri(url), imageUrl).AbsoluteUri;
}
imageUrls.Add(imageUrl);
}
}
// 打印所有图片URL
foreach (string imageUrl in imageUrls)
{
Console.WriteLine(imageUrl);
}
}
}
}
在上面的示例中,我们使用HttpClient发送GET请求来获取指定站点的HTML内容。
然后,使用HtmlAgilityPack解析HTML内容,并找到所有的img标签。
最后,我们将图片的URL打印出来。
请注意,这只是一个简单的示例,仅用于演示如何获取指定站点的所有图片。
在实际应用中,您可能需要处理更复杂的HTML结构和处理异常情况。
希望这个示例对您有所帮助!