`
yzd
  • 浏览: 1858587 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

利用HtmlAgilityPack抓取XX网站图片并下载~~~~~~邪恶版

 
阅读更多

由于提前到了学校,昨晚逛博客园的时候,意外发现了HtmlAgilityPack这个好东东,是微软的一个类库,用来分析Html页面的结构啊,等等。。。。。不得不说,HtmlAgilityPack很强大,
我用的很爽啊。。。。
抓取博客园的数据啊等等。。。(我搜了一些,发现仅仅是抓取文字的文章,于是一个邪恶的念头出现咋我脑海中,我就好奇的试了试。一番折腾后,结果是可行的啦,发给我以朋友试了试,结果可以,。。。
语无伦次了。。。(别见怪啊啊))

                                           记住哦!,在E盘下新建一个DownLoadImg文件夹

主要代码如下:
    WebClient wc = new WebClient();
    private static int i = 0;
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        HtmlWeb web = new HtmlWeb();

        string imgurl = "";
        //目前一般XX(你懂的...)网站,都是以.../版块/yyyymmdd/一堆数字.html结尾
        //由于XX网站一般分为好几个版块,所以每个.html文件在同一版块下并不是连续的
        //我用了外层两层循环,最外层循环yyyymmdd(日期如2012-02-15)
        //内层是循环每个.html文件,当然你可以自己修改两个循环


        for (int k = 20120215; k <= 20120215; k++)
                                                  
      {
          for (int j = 124289; j <= 124306; j++)
        {
           
       
            string cnblogs = "";//看这里,需要填写某一网站的格式,在源码下载里有
            HtmlDocument doc = web.Load(cnblogs);
            HtmlNode node = doc.GetElementbyId("ks_xp");
            if (node == null)
            {
                continue;

            }
            else
            {

                foreach (HtmlNode child in node.SelectNodes("//img"))
                {
                    if (child.Attributes["src"] == null)
                        continue;

                    imgurl = child.Attributes["src"].Value.ToString();
                    DownLoadImg(imgurl);
                }
            }
         
        }
      }

    }

    public void DownLoadImg(string url)
    {
        i++;
        //string newfilename = DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString() + DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString() + ".jpg";
        //罪魁祸首啊,假如用上面的名字做为图片的名字,会有如下问题
        //不能把所有图片下载下来,因为时间的粒度是秒,而不是所有的图片都是一秒一张的,所以进程会自动跳过下载。God Bless U--->大蜗牛
        string newfilename = i + ".jpg";
        string filepath = @"E:\DownLoadImg\" + newfilename;//当然你可以写段自动新建该目录的代码,其实也不难吧o(∩_∩)o ,留给读者自由发挥吧
        try
        {
            wc.DownloadFile(url, filepath);

        }
        catch (Exception ex)
        {

        }

    }

最后,该小东东,还有很多可以修改的,那就留给读者您吧(请不要喷我。。)
0
6
分享到:
评论
1 楼 greatwqs 2012-02-18  
看了前面的HTTP, 原来楼主也做爬虫~

相关推荐

    C# 各版本 HtmlAgilityPack 类库 HtmlAgilityPack.dll

    例如,对于那些仍需支持旧版.NET框架的项目,开发者可以使用对应版本的HtmlAgilityPack.dll,确保代码能够在目标环境中正常运行。 在C#中使用HtmlAgilityPack时,首先需要安装相应的NuGet包,或者将提供的dll文件...

    HtmlAgilityPack C# 爬虫源码 爬图片

    在“HtmlAgilityPack C# 爬虫源码 爬图片”项目中,开发者利用了HtmlAgilityPack的强大功能来抓取网页上的图片。以下是对这个项目的详细解读: 首先,我们需要理解HtmlAgilityPack的基本用法。这个库提供了一个`...

    HtmlAgilityPack(解析HTML动态链接库)

    而HtmlAgilityPack提供了一种更稳定、更结构化的解决方案。 **主要功能:** 1. **解析HTML**:HtmlAgilityPack能够解析HTML文档,即使这些文档存在语法错误或者不标准,它也能尽可能地恢复文档结构,提供一个可...

    HtmlAgilityPack.1.4.0.zip

    在实际应用中,开发者可以利用HtmlAgilityPack来抓取网页上的数据,比如新闻标题、商品价格、用户评论等。同时,它也可以用于网页内容的自动化测试、网页内容的转换(如将HTML转换为其他格式),甚至进行简单的网页...

    HtmlAgilityPack 1.5.5最新版本

    HtmlAgilityPack 1.5.5最新版本,C#解析HTML的工具。HtmlAgilityPack 1.5.5最新版本,C#解析HTML的工具HtmlAgilityPack 1.5.5最新版本,C#解析HTML的工具

    HtmlAgilityPack 1.11.2最新版本

    在实际应用中,HtmlAgilityPack常用于Web爬虫、网站自动化测试、HTML文档的预处理和清理等场景。例如,你可以用它来抓取网页上的特定数据,如新闻标题、价格信息,或者进行网页结构的重构和格式化。同时,它也是SEO...

    HtmlAgilityPack

    - **网页抓取**:在爬虫项目中,可以利用HtmlAgilityPack解析和提取网页数据。 - **Web应用测试**:在自动化测试中,可以验证HTML响应是否符合预期。 - **内容过滤**:对用户生成的HTML内容进行清洗,确保安全性...

    免费 HtmlAgilityPack分析工具

    3. **数据抓取**:对于爬虫开发者而言,HtmlAgilityPack是强大的助手。它能帮助抓取网页上的特定数据,如产品价格、评论内容等,为数据分析和信息挖掘提供便利。 4. **XHTML转换**:该工具还可以将HTML文档转换为...

    C#使用HtmlAgilityPack抓取糗事百科内容实例

    在这个实例中,我们将详细讲解如何使用HtmlAgilityPack从糗事百科网站抓取热门内容。 首先,你需要在你的项目中引入HtmlAgilityPack库。可以通过NuGet包管理器进行安装,搜索“HtmlAgilityPack”并添加到你的解决...

    htmlagilityPack 下载html不会乱码

    htmlagilityPack 把下载的html格式转为xml格式,下载html不会乱码,

    HtmlAgilityPack.dll在framework各框架下的版本

    《HtmlAgilityPack.dll在Framework各框架下的应用与解析》 HtmlAgilityPack(简称HAP)是一款在.NET Framework环境下广泛使用的开源库,专门用于HTML文档的解析和操作。其核心功能是提供了一种灵活的方式来处理HTML...

    HtmlAgilityPack 最新版本1.11.18 net 4.0 net 4.5版本 Dll 文件

    HtmlAgilityPack(以下简称HAP)是一个基于.Net的、第三方免费开源的微型类库,主要...HtmlAgilityPack为网页提供了标准的DOM API和XPath导航。使用WebBrowser和HttpWebRequest下载的网页可以用Html Agility Pack来解析。

    c#图像操作之抓取整站图片源码.rar

    在抓取网站图片时,我们通常会用到它的`DownloadData`或`DownloadFile`方法来下载图片资源。 2. **HTML解析**: 为了找到网页中的图片源,我们需要解析HTML文档。可以使用`HtmlAgilityPack`库,这是一个流行的HTML...

    HtmlAgilityPack获取HTML节点内容

    本实例将深入探讨如何利用HtmlAgilityPack获取HTML文档中的节点内容。 首先,我们需要了解HtmlAgilityPack的基本使用方法。在C#环境中,首先需要通过NuGet包管理器安装HtmlAgilityPack。安装完成后,我们可以引入...

    抓取整站图片.rar

    网络爬虫是一种自动提取网页信息的程序,而图片抓取是其中的一个重要分支,它允许我们批量下载网站上的图片资源。在这个项目中,我们可能使用到了C#中的HttpClient类进行HTTP请求,HtmlAgilityPack库来解析HTML文档...

Global site tag (gtag.js) - Google Analytics