网页爬虫 ScrapingSpider

未知
C#
Windows
2015-01-19
红薯

ScrapingSpider 是一个业余时间开发的,支持多线程,支持关键字过滤,支持正文内容智能识别的爬虫。   

爬虫的核心实现在ScrapingSpider.Core程序集中。爬虫类为Spider类,爬虫的爬取逻辑,与页面处理逻辑通过事件分离,两个关键事件为AddUrlEvent和DataReceivedEvent。

示例代码:

// 构造爬虫,需要3个参数:爬虫设置,实现了ILogger的日志记录器,上次未执行完的爬取链接
Spider spider = new Spider(new Settings(), new EmptyLogger(), null);

spider.AddUrlEvent += addUrlArgs =>
{
    // Url即将添加到队列的事件处理
};

spider.DataReceivedEvent += receivedArgs =>
{
    // 页面已经被抓取下来的事件,可在此处理页面,例如页面保存添加到数据库
};

// 开始爬取
spider.Crawl();

ScrapingSpider示例代码

  • 具体的使用方法请参考ScrapingSpider项目的Program.cs类中的示例代码。

  • 示例代码使用SqlServer数据库存储爬取信息,表结构与WebPage类对应,数据库连接字符串请参考App.config。

  • 采用log4net作为日志记录组件。

Settings说明

  • Init Seeds: 初始Url地址,多个地址使用回车分开。

  • Regex Filter: 通过正则表达式过滤Url,多个正则使用回车隔开。

  • Keyword: 关键字,按照指定的关键字爬取,多个关键字使用回车分开。

  • Crawl Depth: 爬取深度,小于0表示不限

  • Escape Links: 要过滤的链接,如:.jpg|.rar|.exe

  • Keep Cookie: 抓取过程中是否保留Cookie

  • Lock Host: 是否锁定Host,锁定后,指抓取站点相关链接。

  • Limit Speed: 是否智能限速。

  • Threads: 线程数量,启用多个线程有利于提高爬取效率。

  • Timeout: 超时时间,以毫秒为单位。

  • User Agent: http协议UserAgent设置。

加载中

评论(1)

数据抓取
数据抓取
寻找一个小团队做新闻客户端数据抓取,感兴趣可微信联系zx_wander

暂无资讯

暂无问答

13个.Net开源的网络爬虫

1:.Net开源的跨平台爬虫框架 DotnetSpider Star:430 DotnetSpider这是国人开源的一个跨平台、高性能、轻量级的爬虫软件,采用 C# 开发。目前是.Net开源爬虫最为优秀的爬虫之一。 请点击此处...

2018/06/29 22:28
148
0

没有更多内容

加载失败,请刷新页面

没有更多内容

返回顶部
顶部