首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >发现一款.NET Core开源爬虫神器:DotnetSpider

发现一款.NET Core开源爬虫神器:DotnetSpider

作者头像
Enjoy233
发布于 2020-09-28 02:56:20
发布于 2020-09-28 02:56:20
1.5K0
举报

没有爬虫就没有互联网!

爬虫的意义在于采集大批量数据,然后基于此进行加工/分析,做更有意义的事情。谷歌,百度,今日头条,天眼查都离不开爬虫。

去开源中国和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:如果所有爬虫统一部署, 可以实现单台机器同时运行多个任务拨号互不影响、或者一个路由下面多个电脑下多个任务拨号互不影响
  • 支持自定义代理池
  • 有管理平台

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-09-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大白技术控 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
3. 爬虫框架Clawler 爬取优酷电影名
之前我们都是使用HtmlAgilityPack类库来进行页面的爬取,今天我们使用一个爬虫框架。 框架名称:Clawler 参考地址
happlyfox
2018/10/31
6360
.NET使用分布式网络爬虫框架DotnetSpider快速开发爬虫功能
前段时间有同学在微信群里提问,要使用.NET开发一个简单的爬虫功能但是没有做过无从下手。今天给大家推荐一个轻量、灵活、高性能、跨平台的分布式网络爬虫框架(可以帮助 .NET 工程师快速的完成爬虫的开发):DotnetSpider。
追逐时光者
2023/12/09
3950
.NET使用分布式网络爬虫框架DotnetSpider快速开发爬虫功能
.NET快速实现网页数据抓取
今天我们来讲讲如何使用.NET开源(MIT License)的轻量、灵活、高性能、跨平台的分布式网络爬虫框架DotnetSpider来快速实现网页数据抓取功能。
追逐时光者
2024/05/25
1990
.NET快速实现网页数据抓取
C#/.NET/.NET Core优秀项目和框架2023年12月简报
追逐时光者
2024/01/05
6100
C#/.NET/.NET Core优秀项目和框架2023年12月简报
[置顶] .NET Core/.NET5/.NET6 开源项目汇总10:实用工具
开源项目是众多组织与个人分享的组件或项目,作者付出的心血我们是无法体会的,所以首先大家要心存感激、尊重。请严格遵守每个项目的开源协议后再使用。尊重知识产权,共建和谐开源社区。
张传宁IT讲堂
2022/03/18
1.2K0
[置顶]
        .NET Core/.NET5/.NET6 开源项目汇总10:实用工具
【推荐收藏】33款可用来抓数据的开源爬虫软件工具
要玩大数据,没有数据怎么玩?这里推荐一些33款开源爬虫软件给大家。 爬虫,即网络爬虫,是一种自动获取网页内容的程序。是搜索引擎的重要组成部分,因此搜索引擎优化很大程度上就是针对爬虫而做出的优化。 网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成。传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。聚焦爬虫的工作流程较为复杂,需要根据一定的网页分析算法过滤与主题无关的链接
钱塘数据
2018/03/05
6.9K0
【推荐收藏】33款可用来抓数据的开源爬虫软件工具
一篇文章教会你理解Scrapy网络爬虫框架的工作原理和数据采集过程
在这春节之际,Python进阶者祝福小伙伴们身体健康,工作顺利,心想事成,万事如意,阖家幸福欢乐,猪年诸事顺心顺利。
Python进阶者
2019/03/04
6130
一篇文章教会你理解Scrapy网络爬虫框架的工作原理和数据采集过程
那些优秀的网络爬虫工具介绍,最后亮了!| 码云周刊第 16 期
技术干货 1、SpringMVC 执行流程及源码解析 2、使用 Vue2 和 Yii2 进行前后端分离开发 3、 SSM (十一) 基于 dubbo 的分布式架构 4、五大理由从 Python 转到 Go 语言 5、软件的复杂性: 命名的艺术 技术分享 1、SpringMVC 执行流程及源码解析 在SpringMVC中主要是围绕着DispatcherServlet来设计,可以把它当做指挥中心。这里先说明一下SpringMVC文档给出的执行流程,然后是我们稍微具体的执行流程,最后是流程大致的源码跟踪。 2、使
码云Gitee
2018/03/29
2.4K0
那些优秀的网络爬虫工具介绍,最后亮了!| 码云周刊第 16 期
【杂谈】爬虫基础与快速入门指南
今天给大家分享一下网络爬虫的基础知识,以及一些优秀的开源爬虫项目。网络爬虫主要是我们在面对新的任务,但自己又没有数据的时候,获取自己想要的数据的一种手段。因此我们有必要掌握一定的爬虫知识,从而更好的准备训练数据集。
用户1508658
2020/06/17
7020
【杂谈】爬虫基础与快速入门指南
基于webmagic的爬虫项目经验小结
大概在1个月前,利用webmagic做了一个爬虫项目,下面是该项目的一些个人心得,贴在这里备份: 一、为什么选择webmagic? 说实话,开源的爬虫框架已经很多了,有各种语言(比如:python、j
菩提树下的杨过
2018/01/18
1.9K0
【愚公系列】2023年01月 .NET CORE工具案例-DotnetSpider爬虫框架的配置式爬虫
DotnetSpider 是一个轻量、灵活、高性能、跨平台的分布式网络爬虫框架,可以帮助 .NET 工程师快速的完成爬虫的开发。
愚公搬代码
2023/01/08
1.1K0
【愚公系列】2023年01月 .NET CORE工具案例-DotnetSpider爬虫框架的配置式爬虫
.NET Core/.NET5/.NET6 开源项目汇总1:常用必备组件
开源项目是众多组织与个人分享的组件或项目,作者付出的心血我们是无法体会的,所以首先大家要心存感激、尊重。请严格遵守每个项目的开源协议后再使用。尊重知识产权,共建和谐开源社区。
张传宁IT讲堂
2021/06/22
4.5K0
.NET Core/.NET5/.NET6 开源项目汇总1:常用必备组件
爬虫框架整理汇总
整理了Node.js、PHP、Go、JAVA、Ruby、Python等语言的爬虫框架。不知道读者们都用过什么爬虫框架?爬虫框架的哪些点你觉得好?哪些点觉得不好? Node.js node-c
SeanCheney
2018/06/13
2.5K0
C#/.NET/.NET Core优秀项目框架推荐
前言:   为.NET开源者提供的一个推荐自己优秀框架的地址,大家可以把自己的一些优秀的框架,或者项目链接地址存到在这里,提供给广大.NET开发者们学习(注意:排名不分先后,都是十分优秀的开源框架和项目💖)。 Github项目仓库收集地址:https://github.com/YSGStudyHards/DotNetGuide/issues/5 填写格式如下: 项目or框架名称+访问链接地址+项目描述: 📦NPOI-ExportWordAndExcel-ImportExcelData 一个简单
追逐时光者
2022/09/28
2.8K0
积极拥抱.NET Core开源社区
潘正磊在上海的Tech Summit 2018 大会上给我们的.NET Core以及开源情况带来了最新信息。
张善友
2018/12/04
9060
积极拥抱.NET Core开源社区
【Python爬虫实战】深入解析 Scrapy 爬虫框架:高效抓取与实战搭建全指南
在大数据时代,网络爬虫已经成为数据收集的重要工具。而 Scrapy 作为一个功能强大且高效的 Python 爬虫框架,以其模块化、异步处理和高度可扩展性,广泛应用于数据挖掘、监控和分析等领域。本指南将从 Scrapy 的基础概念到项目实践,带你全面了解如何搭建和优化一个 Scrapy 爬虫项目,不论是新手还是经验丰富的开发者,都能从中获益。
易辰君
2024/11/26
2K0
.NET周刊【5月第4期 2024-05-26】
https://www.cnblogs.com/sunkaixuan/p/18201175
InCerry
2024/06/06
3860
.NET周刊【5月第4期 2024-05-26】
Scrapy爬虫初探
Scrapy 是一个开源的、高级的、快速的 Python 网络爬虫框架,用于从网站上提取数据。它提供了一种简单而强大的方式来定义爬取规则和处理爬取的数据。 其最初是为了页面抓取 (更确切来说, 网络抓取 )所设计的, 也可以应用在获取API所返回的数据(例如 Amazon Associates Web Services ) 或者通用的网络爬虫。
用户6297767
2023/11/21
3700
Scrapy爬虫初探
.NET平台系列12 .NET未来之开源.NET Core
  微软于2014年11月推出了.NET Core 1.0。.NET Core的目标是从我们在过去12年中对.NET Framework的构建、交付和服务的经验中吸取教训,并开发出的更好的产品。这些改进的一些例子包括并行安装(可以安装新版本,而不必担心破坏现有应用程序)、自包含应用程序(应用程序可以嵌入.NET,因此.NET不需要在计算机上安装),而不是Windows操作系统的一个组件(.NET发布独立于操作系统时间表的新版本)等等。在此基础上,我们使.NET Core开源和跨平台。
张传宁IT讲堂
2021/06/09
1.6K0
.NET平台系列12 .NET未来之开源.NET Core
爬虫之scrapy框架(一)
Scrapy一个开源和协作的框架,其最初是为了页面抓取 (更确切来说, 网络抓取 )所设计的,使用它可以以快速、简单、可扩展的方式从网站中提取所需的数据。但目前Scrapy的用途十分广泛,可用于如数据挖掘、监测和自动化测试等领域,也可以应用在获取API所返回的数据(例如 Amazon Associates Web Services ) 或者通用的网络爬虫。
GH
2020/03/19
9090
推荐阅读
相关推荐
3. 爬虫框架Clawler 爬取优酷电影名
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档