成都.NET培训:.NET跨平台爬虫框架:DotnetSpider(2

时间:2017-04-20 17:59来源:成都达内 作者:成都达内 点击:

  使用环境:

  Visual Studio 2015 or later

  .NET 4.5 or later

  如果想使用 .NET CORE 请按照官方说明安装 .NET CORE 开发环境: https://www.microsoft.com/net/core#windows

  概述:

  在上一篇也讲到过,实现一个完整的爬虫需要4大模块:下载器(已有实现),URL调度(已有实现),数据抽取(需要自己实现),数据存储(需要自己实现),因此,只需要实现数据抽取、数据存储这两个模块就可以完成一个爬虫了。

  新建一个Console 项目:

  右键项目的Manage NuGet Packages(管理NuGet包)

成都.NET培训

  搜索DotnetSpider2, 从结果列表中选中DotnetSpider2.Core并安装到控制台项目中

成都.NET培训

      定义数据对象:

  成都.NET培训

  需要注意的是

  Page 对象中Selectable属性是由下载的HTML构造的选择器容器,调用Seletable的接口就可以进行Xpath,Css, JsonPath,Regex的查询;

  Selectable的GetValue传入true时会把结果去HTML标签;

  把组装好的对象,如上面的 YoukuVideo List, 保存到page的ResultItem中,并指定一个唯一的Key;

  定义数据管道(继承BasePipeline这个抽象类):

  数据管道可以通过在PageProcessor中指定的唯一Key,取出需要处理的数据存入想要的数据库或文件中

成都.NET培训

  初始化起始链接并运行

  通过AddStartUrl可以添加爬虫的起始链接后,调用Run方法运行爬虫

成都.NET培训

  运行结果

成都.NET培训

  设置目标页抽取

  以上只是采集了初始的一个链接,如何达到翻页(遍历)效果继续采集直的最后一页呢?只需要在PageProccessor中解析出符合规则的目标页,并加入到Page对象的TargetRequests这个List中即可。我们做如下改动:

 成都.NET培训

  重新运行爬虫后,可以看到已经实现的翻页

成都.NET培训

  代码地址:https://github.com/zlzforever/DotnetSpider

  成都it培训哪家好,当然是成都达内培训,成都达内是一家专业的程序员培训机构,专注于成都嵌入式培训,成都web前端培训,成都.NET培训,成都大数据培训,成都会计实操培训,成都IT培训,成都编程培训等IT培训,专业的成都软件培训机构,专业师资授课,真实项目实战、零首付、低押金、名企就业。

(责任编辑:成都达内)

CopyRight © 2002-2016 成都达内科技职业技能培训学校 (www.cdtedu.com) 版权所有 成都达内 川公网安备 51019002000307号 网站地图