ScrapingSpider 介绍
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示例代码
Settings说明
-
Init Seeds: 初始URL地址,多个地址使用回车分开。
-
Regex Filter: 通过正则表达式过滤Url,多个正则使用回车隔开。
-
Keyword: 关键字,按照指定的关键字爬取,多个关键字使用回车分开。
-
Crawl Depth: 爬取深度,小于0表示不限
-
Escape Links: 要过滤的链接,如:.jpg|.rar|.exe
-
Keep Cookie: 抓取过程中是否保留Cookie
-
Limit Speed: 是否智能限速。
-
Threads: 线程数量,启用多个线程有利于提高爬取效率。
-
Timeout: 超时时间,以毫秒为单位。
-
User Agent: http协议UserAgent设置。
ScrapingSpider 官网
https://github.com/stanzhai/ScrapingSpider
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。