2025年3月26日 星期三 甲辰(龙)年 月廿五 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > .net

开源高性能.NET爬虫框架Abot用法示例

时间:02-03来源:作者:点击数:25

Abot简介

Abot 是一个开源的 C# 网络爬虫框架,它的特点是速度快和灵活。 它负责低级管道(多线程、http 请求、调度、链接解析等)。开发者只需要注册事件即可处理页面数据。

功能特性

  • 免费开源
  • 轻量级,速度快
  • 支持定制
  • 无依赖

Abot用法示例

使用 Nuget 安装 Abot

  • PM> Install-Package Abot

下面是一些Abot代码示例

  • private static async Task DemoSimpleCrawler()
  • {
  • var config = new CrawlConfiguration
  • {
  • // 爬取 10 页
  • MaxPagesToCrawl = 10,
  • // 延迟 3 秒
  • MinCrawlDelayPerDomainMilliSeconds = 3000
  • };
  • var crawler = new PoliteWebCrawler(config);
  • // 监听记录日志
  • crawler.PageCrawlCompleted += PageCrawlCompleted;//
  • var crawlResult = await crawler.CrawlAsync(new Uri("https://google.com"));
  • }
  • private static async Task DemoSinglePageRequest()
  • {
  • var pageRequester = new PageRequester(new CrawlConfiguration(), new WebContentExtractor());
  • var crawledPage = await pageRequester.MakeRequestAsync(new Uri("http://google.com"));
  • Log.Logger.Information("{result}", new
  • {
  • url = crawledPage.Uri,
  • status = Convert.ToInt32(crawledPage.HttpResponseMessage.StatusCode)
  • });
  • }

全局配置

Abot 的 Abot2.Poco.CrawlConfiguration 类有大量的配置选项, 你可以根据自己的需要进行配置。

  • var crawlConfig = new CrawlConfiguration();
  • crawlConfig.CrawlTimeoutSeconds = 100;
  • crawlConfig.MaxConcurrentThreads = 10;
  • crawlConfig.MaxPagesToCrawl = 1000;
  • crawlConfig.UserAgentString = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36";
  • crawlConfig.ConfigurationExtensions.Add("SomeCustomConfigValue1", "1111");
  • crawlConfig.ConfigurationExtensions.Add("SomeCustomConfigValue2", "2222");
  • etc...

注册事件

你可以注册 Abot的执行事件,来查看爬虫执行的每一个步骤。

  • crawler.PageCrawlStarting += crawler_ProcessPageCrawlStarting;
  • crawler.PageCrawlCompleted += crawler_ProcessPageCrawlCompleted;
  • crawler.PageCrawlDisallowed += crawler_PageCrawlDisallowed;
  • crawler.PageLinksCrawlDisallowed += crawler_PageLinksCrawlDisallowed;

Abot GitHub地址

https://github.com/sjdirect/abot

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门