一款开源的.NET Core爬虫神器: DotnetSpider
dotNET全栈开发
共 1349字,需浏览 3分钟
·
2020-09-23 16:03
没有爬虫就没有互联网!
爬虫的意义在于采集大批量数据,然后基于此进行加工/分析,做更有意义的事情。谷歌,百度,今日头条,天眼查都离不开爬虫。
去开源中国和Github查询C#的爬虫项目,仅有几个非常简单或是几年没有更新的项目。
而单纯性能上.NET对比JAVA,PYTHON并没有处于弱势,反而有开发上的优势(得益于世界上最强大的IDE)。爬虫性能瓶颈大多是在并发下载(网速)、IP池,那么为什么.NET没有一个强大的爬虫框架呢?
说真的我不知道,可能爬虫框架核心上比较简单,也可能.NET的开发人员没有别的语言的开发人员勤奋,或是.NET的开源氛围没有别的语言高。
所以,今天推荐一个.NET 爬虫的开源项目:DotnetSpider
开源项目地址:
https://github.com/dotnetcore/DotnetSpider
![](https://filescdn.proginn.com/e5b44a99590238dde4297e78369e1c3e/5bb65d4bf8b72707c50f6ad58d88b203.webp)
免责申明:本框架如同 Python 下著名的 Scrapy 一样只是为了帮助开发人员简化开发流程、提高开发效率,请勿使用此框架做任何违法国家法律的事情。使用者所做任何事情也与本框架的作者无关。
设计图
![](https://filescdn.proginn.com/00a9ea0fb01cb110d4238f51803be663/9b0f984592603f00b0dc6af67e96d5ee.webp)
框架设计
参考的webmagic,所以整体架构上没有什么大的变化,设计图如下(图片是直接从webmagic上拿的)
![](https://filescdn.proginn.com/4d50376aa9d1e513a53cfd52be60fd5a/5a85b2913ea4ec0f2a01b005ffd0c995.webp)
Scheduler:负责URL的调度、去重,可以实现如Queue, PriorityQueueScheduler, RedisScheduler(可用于分布式)等等 Downloader: 负责下载HTML,可以实现如HttpDownloader, 浏览器的Downloader(WebDriver), FiddlerDownloader,本地文件Downloader等等 PageProcesser: 负责HTML解析、目标URL的选择 Pipeline: 负责数据的存储, 已实现文件存储, MySql存储, MySqlFile存储(脚本),MSSQL存储,MongoDb存储, 更多存储期待您的贡献
优点
可以使用Json定义爬虫 可以使用实体类+Attrbiute定义爬虫 自动创建数据库、数据表 支持 .NET CORE,可以跨平台 支持ADSL拨号换IP:如果所有爬虫统一部署, 可以实现单台机器同时运行多个任务拨号互不影响、或者一个路由下面多个电脑下多个任务拨号互不影响 支持自定义代理池 有管理平台
如果你也有好的开源项目,欢迎推荐!
微信号联系:westbrook12000(ps:加好友请备注“开源”)
![](https://filescdn.proginn.com/ad1df81402d3f5d5572336ce1447f3e0/6b843641772da8d594abaa4b145ddd0a.webp)
![](https://filescdn.proginn.com/eb917394ce4c95d40ba0e7f75ab12df5/31e6f3db9cb3764634ecca693298a120.webp)
还需要Pandownload?阿里云网盘来了(附注册教程)
![](https://filescdn.proginn.com/53f21ce104d7e6e01d9852c82dd3534d/2f21f9eec47f02dce795164645ac0369.webp)
副业刚需,个人开发者如何通过小程序变现?已经有朋友变现月入4k了!
评论