一款開源的.NET Core爬蟲神器: DotnetSpider
沒有爬蟲就沒有互聯(lián)網(wǎng)!
爬蟲的意義在于采集大批量數(shù)據(jù),然后基于此進行加工/分析,做更有意義的事情。谷歌,百度,今日頭條,天眼查都離不開爬蟲。
去開源中國和Github查詢C#的爬蟲項目,僅有幾個非常簡單或是幾年沒有更新的項目。
而單純性能上.NET對比JAVA,PYTHON并沒有處于弱勢,反而有開發(fā)上的優(yōu)勢(得益于世界上最強大的IDE)。爬蟲性能瓶頸大多是在并發(fā)下載(網(wǎng)速)、IP池,那么為什么.NET沒有一個強大的爬蟲框架呢?
說真的我不知道,可能爬蟲框架核心上比較簡單,也可能.NET的開發(fā)人員沒有別的語言的開發(fā)人員勤奮,或是.NET的開源氛圍沒有別的語言高。
所以,今天推薦一個.NET 爬蟲的開源項目:DotnetSpider
開源項目地址:
https://github.com/dotnetcore/DotnetSpider

免責申明:本框架如同 Python 下著名的 Scrapy 一樣只是為了幫助開發(fā)人員簡化開發(fā)流程、提高開發(fā)效率,請勿使用此框架做任何違法國家法律的事情。使用者所做任何事情也與本框架的作者無關(guān)。
設計圖

框架設計
參考的webmagic,所以整體架構(gòu)上沒有什么大的變化,設計圖如下(圖片是直接從webmagic上拿的)

Scheduler:負責URL的調(diào)度、去重,可以實現(xiàn)如Queue, PriorityQueueScheduler, RedisScheduler(可用于分布式)等等 Downloader: 負責下載HTML,可以實現(xiàn)如HttpDownloader, 瀏覽器的Downloader(WebDriver), FiddlerDownloader,本地文件Downloader等等 PageProcesser: 負責HTML解析、目標URL的選擇 Pipeline: 負責數(shù)據(jù)的存儲, 已實現(xiàn)文件存儲, MySql存儲, MySqlFile存儲(腳本),MSSQL存儲,MongoDb存儲, 更多存儲期待您的貢獻
優(yōu)點
可以使用Json定義爬蟲 可以使用實體類+Attrbiute定義爬蟲 自動創(chuàng)建數(shù)據(jù)庫、數(shù)據(jù)表 支持 .NET CORE,可以跨平臺 支持ADSL撥號換IP:如果所有爬蟲統(tǒng)一部署, 可以實現(xiàn)單臺機器同時運行多個任務撥號互不影響、或者一個路由下面多個電腦下多個任務撥號互不影響 支持自定義代理池 有管理平臺
如果你也有好的開源項目,歡迎推薦!
微信號聯(lián)系:westbrook12000(ps:加好友請備注“開源”)


還需要Pandownload?阿里云網(wǎng)盤來了(附注冊教程)

副業(yè)剛需,個人開發(fā)者如何通過小程序變現(xiàn)?已經(jīng)有朋友變現(xiàn)月入4k了!
評論
圖片
表情
