好记性不如烂笔头,生活、学习、工作、感悟,记于“笔下”,留于心间。任时光荏苒、世易时移,唯文字不改、记忆不散。

by:蚂蹄儿

快速开发湖北快3开奖数据爬取器(一)

分类:学无止境 - 数据爬取

关键词: 爬虫  湖北快3 

来源:蚂蹄儿(www.motyer.cn)

阅读:103发布时间:

  闲来无聊,写了一个用于爬取湖北快3开奖数据的工具,没有任何实际用处,仅作为涉足爬虫领域的先行Demo,遂记之。

一、锁定爬取目标

  通过分析对比几个提供湖北快3开奖数据的网站,最终确定爬取网易彩票中心的网页(http://caipiao.163.com/award/hbkuai3/)。在网页右侧有如下一个日期控件,用于按日期获取数据。

  通过不断调整日期,发现了如下的提取URL规则:

http://caipiao.163.com/award/hbkuai3/?gameEn=hbkuai3&date=XXXXXXXX

  上面URL中的XXXXXXXX是按一定规则构成的日期字符串(如:2018年1月24日对应的字符串是20180124)。

二、分析目标网页

  查看我们要爬取的网页(假设为:http://caipiao.163.com/award/hbkuai3/?gameEn=hbkuai3&date=20180101)的源代码,在大约224行的位置看到承载开奖数据的标签,如下:

<td class="start" data-win-number='1 3 4' data-period="180101001">01</td>

  这段HTML代码正是需要提取的数据所在之处,其中data-win-number属性给出了三个开奖号,data-period给出了开奖的期号。只需要将网页中所有的这样的标签提取出来就能得到这一天的所有开奖数据。

三、项目分析

  整个项目逻辑是挺清楚的,主要分为以下三步:

  1、获取网页源代码;

  2、解析源代码提取所需的文本;

  3、保存2中的解析结果。

  对于第1步和第2步,获取和解析的工作交给HtmlAgilityPack.dll这个类库来完成。至于结果的保存,使用Sqlite数据库。对于操作Sqlite数据库有3中可选方案:

  a. SqliteHelper帮助类;

  b. Dapper轻量级的微型ORM框架;

  c. Entity Framework。


  本篇文章到此为止,至于整个项目的实际开发,将会在下篇文章中详细记录。


  桌面软件定制、中小型网站建设、移动APP开发请添加QQ/微信:773347113。

上一篇:

下一篇: