你的位置:首页 > 软件开发 > ASP.net > 使用HtmlAgilityPack爬取网站信息并存储到mysql

使用HtmlAgilityPack爬取网站信息并存储到mysql

发布时间:2016-12-07 14:00:17
前言:打算做一个药材价格查询的功能,但刚开始一点数据都没有靠自己找信息录入的话很麻烦的,所以只有先到其它网站抓取存到数据库再开始做这个了。HtmlAgilityPack在c#里应该很多人用吧,简单又强大。之前也用它做过几个爬取信息的小工具。不过很久了源代码都没有了,都忘了怎么用了 ...

前言:打算做一个药材价格查询的功能,但刚开始一点数据都没有靠自己找信息录入的话很麻烦的,所以只有先到其它网站抓取存到数据库再开始做这个了。

HtmlAgilityPack在c#里应该很多人用吧,简单又强大。之前也用它做过几个爬取信息的小工具。不过很久了源代码都没有了,都忘了怎么用了,这次也是一点一点找资料慢慢做出来的!

(不过最麻烦的是将数据存到mysql,.net数据库我一直用的都是mssql,所以第一次做连接mysql遇到了好多问题。)

1、使用HtmlAgilityPack

  • 下载HtmlAgilityPack类库,并引用到你的项目

  我这里使用的控制台项目

使用HtmlAgilityPack爬取网站信息并存储到mysql

项目添加引用

使用HtmlAgilityPack爬取网站信息并存储到mysql

代码里添加引用


 

2、分析网页

  • 网页地址:http://www.zyctd.com/jiage/1-0-0-0.html

    首先看每一页的url变化,观察后发现这个很简单:

    第一页就是:1-0-0或者1-0-0-1表示第一页

    第二页就是:1-0-0-2一次类推

  • 然后再分析他的源代码使用HtmlAgilityPack爬取网站信息并存储到mysql

很明显这一页的数据都放在了ul标签里了,而且还有类名:<ul >,

然后再看下ul下的li标签,li标签里的html写的也都相同,然后就可以开始写代码抓取了。

使用HtmlAgilityPack爬取网站信息并存储到mysql

3、抓取信息

  • 首先新建一个类文件,来存储抓取的信息。因为我是直接存到数据库用的是ado.net实体数据模型生成的文件。
  • 下面是ado.net实体数据模型生成的文件:

 

//------------------------------------------------------------------------------// <auto-generated>//   此代码已从模板生成。////   手动更改此文件可能导致应用程序出现意外的行为。//   如果重新生成代码,将覆盖对此文件的手动更改。// </auto-generated>//------------------------------------------------------------------------------namespace 测试项目1{  using System;  using System.Collections.Generic;    public partial class C33hao_price  {    public long ID { get; set; }    public string Name { get; set; }    public string Guige { get; set; }    public string Shichang { get; set; }    public decimal Price { get; set; }    public string Zoushi { get; set; }    public decimal Zhouzd { get; set; }    public decimal Yuezd { get; set; }    public decimal Nianzd { get; set; }    public int editDate { get; set; }    public string other { get; set; }  }}

原标题:使用HtmlAgilityPack爬取网站信息并存储到mysql

关键词:MYSQL

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录