C# HtmlAgilityPack爬取静态页面

本文介绍了如何使用C#的HtmlAgilityPack库来爬取静态网页并获取其中的图片。首先,概述了HtmlAgilityPack作为HTML解析工具的特点和优势。接着,详细说明了安装过程。然后,通过实例展示了如何加载HTML页面,利用WebClient下载图片,以及通过XPath选取img标签和CSS背景图。最后提供了完整的代码示例和相关参考文章链接。
摘要由CSDN通过智能技术生成

C# HtmlAgilityPack爬取静态页面

最近对爬虫很感兴趣,稍微研究了一下,利用HtmlAgilityPack制作了一个十分简单的爬虫,这个简易爬虫只能获取静态页面的Html

HtmlAgilityPack简介

HtmlAgilityPack是一个解析速度十分快,并且开源的Html解析工具。HtmlAgilityPack支持使用Xpath解析Html,能够帮助我们解析Html文档就像解析Xml文档一样轻松、方便。

C#安装HtmlAgilityPack

  1. 如果VS安装有Nuget,在Nuget直接搜索安装即可。
  2. 下载后解压缩后有3个文件,这里只需要将其中的HtmlAgilityPack.dll、HtmlAgilityPack.xml引入解决方案中即可使用

实例(获取某页面图片)

加载HTML页面

//从网页中加载
string url = "https://www.bilibili.com";
HtmlWeb web = new HtmlWeb();
HtmlDocument hd = web.Load(url);

利用WebClient写一个图片下载器

需要using System.Netusing System.IO

/// <summary>
/// 图片下载器
/// </summary>
public class ImgDownloader
{
   
    /// <summary>
    /// 下载图片
    /// </summary>
    /// <param name="webClient"></param>
    /// <param name="url">图片url</param>
    /// <param name="folderPath">文件夹路径</param>
    /// <param name="fileName">图片名</param>
    public static void DownloadImg(WebClient webClient, string url, string folderPath, string fileName)
    {
   
        //如果文件夹不存在,则创建一个
        if (!Directory.Exists(folderPath))
        {
   
            Directory.CreateDirectory(folderPath);
        }
        //判断路径是否完整,补全不完整的路径
        if (url.IndexOf("https:") == -1 && url.IndexOf("http:") == -1)
        {
   
            url = "https:" + url;
        }
        //下载图片
        try
        {
   
            webClient.DownloadFile(url, folderPath + fileName);
            Console.WriteLine(fileName + "下载成功");
        }
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值