由于提前到了学校,昨晚逛博客园的时候,意外发现了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)
{
}
}
最后,该小东东,还有很多可以修改的,那就留给读者您吧(请不要喷我。。)
分享到:
相关推荐
例如,对于那些仍需支持旧版.NET框架的项目,开发者可以使用对应版本的HtmlAgilityPack.dll,确保代码能够在目标环境中正常运行。 在C#中使用HtmlAgilityPack时,首先需要安装相应的NuGet包,或者将提供的dll文件...
在“HtmlAgilityPack C# 爬虫源码 爬图片”项目中,开发者利用了HtmlAgilityPack的强大功能来抓取网页上的图片。以下是对这个项目的详细解读: 首先,我们需要理解HtmlAgilityPack的基本用法。这个库提供了一个`...
而HtmlAgilityPack提供了一种更稳定、更结构化的解决方案。 **主要功能:** 1. **解析HTML**:HtmlAgilityPack能够解析HTML文档,即使这些文档存在语法错误或者不标准,它也能尽可能地恢复文档结构,提供一个可...
在实际应用中,开发者可以利用HtmlAgilityPack来抓取网页上的数据,比如新闻标题、商品价格、用户评论等。同时,它也可以用于网页内容的自动化测试、网页内容的转换(如将HTML转换为其他格式),甚至进行简单的网页...
HtmlAgilityPack 1.5.5最新版本,C#解析HTML的工具。HtmlAgilityPack 1.5.5最新版本,C#解析HTML的工具HtmlAgilityPack 1.5.5最新版本,C#解析HTML的工具
在实际应用中,HtmlAgilityPack常用于Web爬虫、网站自动化测试、HTML文档的预处理和清理等场景。例如,你可以用它来抓取网页上的特定数据,如新闻标题、价格信息,或者进行网页结构的重构和格式化。同时,它也是SEO...
- **网页抓取**:在爬虫项目中,可以利用HtmlAgilityPack解析和提取网页数据。 - **Web应用测试**:在自动化测试中,可以验证HTML响应是否符合预期。 - **内容过滤**:对用户生成的HTML内容进行清洗,确保安全性...
3. **数据抓取**:对于爬虫开发者而言,HtmlAgilityPack是强大的助手。它能帮助抓取网页上的特定数据,如产品价格、评论内容等,为数据分析和信息挖掘提供便利。 4. **XHTML转换**:该工具还可以将HTML文档转换为...
在这个实例中,我们将详细讲解如何使用HtmlAgilityPack从糗事百科网站抓取热门内容。 首先,你需要在你的项目中引入HtmlAgilityPack库。可以通过NuGet包管理器进行安装,搜索“HtmlAgilityPack”并添加到你的解决...
htmlagilityPack 把下载的html格式转为xml格式,下载html不会乱码,
《HtmlAgilityPack.dll在Framework各框架下的应用与解析》 HtmlAgilityPack(简称HAP)是一款在.NET Framework环境下广泛使用的开源库,专门用于HTML文档的解析和操作。其核心功能是提供了一种灵活的方式来处理HTML...
HtmlAgilityPack(以下简称HAP)是一个基于.Net的、第三方免费开源的微型类库,主要...HtmlAgilityPack为网页提供了标准的DOM API和XPath导航。使用WebBrowser和HttpWebRequest下载的网页可以用Html Agility Pack来解析。
在抓取网站图片时,我们通常会用到它的`DownloadData`或`DownloadFile`方法来下载图片资源。 2. **HTML解析**: 为了找到网页中的图片源,我们需要解析HTML文档。可以使用`HtmlAgilityPack`库,这是一个流行的HTML...
本实例将深入探讨如何利用HtmlAgilityPack获取HTML文档中的节点内容。 首先,我们需要了解HtmlAgilityPack的基本使用方法。在C#环境中,首先需要通过NuGet包管理器安装HtmlAgilityPack。安装完成后,我们可以引入...
网络爬虫是一种自动提取网页信息的程序,而图片抓取是其中的一个重要分支,它允许我们批量下载网站上的图片资源。在这个项目中,我们可能使用到了C#中的HttpClient类进行HTTP请求,HtmlAgilityPack库来解析HTML文档...