发现一款.NET Core开源爬虫神器:DotnetSpider
沒有爬蟲就沒有互聯網!
爬蟲的意義在于采集大批量數據,然后基于此進行加工/分析,做更有意義的事情。谷歌,百度,今日頭條,天眼查都離不開爬蟲。
去開源中國和Github查詢C#的爬蟲項目,僅有幾個非常簡單或是幾年沒有更新的項目。
而單純性能上.NET對比JAVA,PYTHON并沒有處于弱勢,反而有開發上的優勢(得益于世界上最強大的IDE)。爬蟲性能瓶頸大多是在并發下載(網速)、IP池,那么為什么.NET沒有一個強大的爬蟲框架呢?
說真的我不知道,可能爬蟲框架核心上比較簡單,也可能.NET的開發人員沒有別的語言的開發人員勤奮,或是.NET的開源氛圍沒有別的語言高。
所以,今天推薦一個.NET 爬蟲的開源項目:DotnetSpider
開源項目地址:
https://github.com/dotnetcore/DotnetSpider
免責申明:本框架如同 Python 下著名的 Scrapy 一樣只是為了幫助開發人員簡化開發流程、提高開發效率,請勿使用此框架做任何違法國家法律的事情。使用者所做任何事情也與本框架的作者無關。
設計圖
框架設計
參考的webmagic,所以整體架構上沒有什么大的變化,設計圖如下(圖片是直接從webmagic上拿的)
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:加好友請備注“開源”)
回復?【小程序】獲取15套小程序源碼【學習+實戰+賺錢】
回復?【關閉】學關閉微信朋友圈廣告
回復?【實戰】獲取20套實戰源碼
回復?【福利】獲取最新微信支付有獎勵
回復?【被刪】學查看你哪個好友刪除了你巧
回復?【訪客】學微信查看朋友圈訪客記錄
回復?【python】學微獲取全套0基礎Python知識手冊
還需要Pandownload?阿里云網盤來了(附注冊教程)
副業剛需,個人開發者如何通過小程序變現?已經有朋友變現月入4k了!
總結
以上是生活随笔為你收集整理的发现一款.NET Core开源爬虫神器:DotnetSpider的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: .NET Core 下使用 Kafka
 - 下一篇: SS CMS 全新跨平台 V7.0 版本