RuiJi.Net
RuiJi.Net 是一个可以分布式部署的爬虫框架,使用 C# 开发,项目的最终目的是可以对大量的网站进行自动更新检查及抓取。
RuiJi.Net 支持自管理 Cookie,并且自动维护不同浏览器标识的 Cookie,这意味着您可以在使用独立 IP 的基础上,虚拟出任意多的 Cookie. RuiJi.Net 同样支持使用抓取服务器上的 IP 进行轮询抓取,并且也可以使用代理服务器。
RuiJi.Net 具有自己的抽取模型,称为 RuiJi Expression(RuiJi 表达式),您可以使用 RuiJi 表达式定义抽取模型,并对需要提取的元数据进行精确清洗。RuiJi 表达式可以存储为文本文档、数据库及高速缓存中。
如何使用
#使用本地 IP
var crawler = new RuiJiCrawler();
var request = new Request("https://www.baidu.com");
var response = crawler.Request(request);
#使用指定 IP
var crawler = new RuiJiCrawler();
var request = new Request("https://www.baidu.com");
request.Ip = "192.168.31.196";
var response = crawler.Request(request);
#使用代理
var crawler = new RuiJiCrawler();
var request = new Request("https://www.baidu.com");
request.Proxy = new RequestProxy("223.93.172.248", 3128);
var response = crawler.Request(request);
#提取 URL
var crawler = new RuiJiCrawler();
var request = new Request("https://www.oschina.net/blog");
var response = crawler.Request(request);
var content = response.Data.ToString();
var parser = new RuiJiParser();
var eb = parser.ParseExtract("css a.blog-title-link[href]\nexp https://my.oschina.net/*/blog/*");
var result = RuiJiExtractor.Extract(content, eb.Block);
#提取标题
var crawler = new RuiJiCrawler();
var request = new Request("http://www.ruijihg.com/archives/category/tech/bigdata");
var response = crawler.Request(request);
var content = response.Data.ToString();
var parser = new RuiJiParser();
var eb = parser.ParseExtract(@"[tile]\ncss article:html
[meta]
#title
css .entry-header:text
#summary
css .entry-header + p:text
ex /Read more »/ -e");
var result = RuiJiExtractor.Extract(content, eb.Block);
© 版权声明
博主的文章没有高度、深度和广度,只是凑字数。利用读书、参考、引用、抄袭、复制和粘贴等多种方式打造成自己的纯镀 24k 文章!如若有侵权,请联系博主删除。
喜欢就点个赞吧