开源python爬虫软件下载_33款可用来抓数据的开源爬虫软件工具-程序员宅基地

技术标签: 开源python爬虫软件下载  

要玩大数据,没有数据怎么玩?这里推荐一些33款开源爬虫软件给大家。

爬虫,即网络爬虫,是一种自动获取网页内容的程序。是搜索引擎的重要组成部分,因此搜索引擎优化很大程度上就是针对爬虫而做出的优化。

网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成。传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。聚焦爬虫的工作流程较为复杂,需要根据一定的网页分析算法过滤与主题无关的链接,保留有用的链接并将其放入等待抓取的URL队列。然后,它将根据一定的搜索策略从队列中选择下一步要抓取的网页URL,并重复上述过程,直到达到系统的某一条件时停止。另外,所有被爬虫抓取的网页将会被系统存贮,进行一定的分析、过滤,并建立索引,以便之后的查询和检索;对于聚焦爬虫来说,这一过程所得到的分析结果还可能对以后的抓取过程给出反馈和指导。

世界上已经成型的爬虫软件多达上百种,本文对较为知名及常见的开源爬虫软件进行梳理,按开发语言进行汇总。虽然搜索引擎也有爬虫,但本次我汇总的只是爬虫软件,而非大型、复杂的搜索引擎,因为很多兄弟只是想爬取数据,而非运营一个搜索引擎。

Java爬虫

1. Arachnid

Arachnid是一个基于Java的web spider框架.它包含一个简单的HTML剖析器能够分析包含HTML内容的输入流.通过实现Arachnid的子类就能够开发一个简单的Web spiders并能够在Web站上的每个页面被解析之后增加几行代码调用。 Arachnid的下载包中包含两个spider应用程序例子用于演示如何使用该框架。

特点:微型爬虫框架,含有一个小型HTML解析器

许可证:GPL

2、crawlzilla

crawlzilla 是一个帮你轻松建立搜索引擎的自由软件,有了它,你就不用依靠商业公司的搜索引擎,也不用再烦恼公司內部网站资料索引的问题。

由 nutch 专案为核心,并整合更多相关套件,并卡发设计安装与管理UI,让使用者更方便上手。

crawlzilla 除了爬取基本的 html 外,还能分析网页上的文件,如( doc、pdf、ppt、ooo、rss )等多种文件格式,让你的搜索引擎不只是网页搜索引擎,而是网站的完整资料索引库。

拥有中文分词能力,让你的搜索更精准。

crawlzilla的特色与目标,最主要就是提供使用者一个方便好用易安裝的搜索平台。

授权协议: Apache License 2

开发语言: Java JavaScript SHELL

操作系统: Linux

特点:安装简易,拥有中文分词功能

3、Ex-Crawler

Ex-Crawler 是一个网页爬虫,采用 Java 开发,该项目分成两部分,一个是守护进程,另外一个是灵活可配置的 Web 爬虫。使用数据库存储网页信息。

授权协议: GPLv3

开发语言: Java

操作系统: 跨平台

特点:由守护进程执行,使用数据库存储网页信息

4、Heritrix

Heritrix 是一个由 java 开发的、开源的网络爬虫,用户可以使用它来从网上抓取想要的资源。其最出色之处在于它良好的可扩展性,方便用户实现自己的抓取逻辑。

Heritrix采用的是模块化的设计,各个模块由一个控制器类(CrawlController类)来协调,控制器是整体的核心。

授权协议: Apache

开发语言: Java

操作系统: 跨平台

特点:严格遵照robots文件的排除指示和META robots标签

5、heyDr

heyDr是一款基于java的轻量级开源多线程垂直检索爬虫框架,遵循GNU GPL V3协议。

用户可以通过heyDr构建自己的垂直资源爬虫,用于搭建垂直搜索引擎前期的数据准备。

授权协议: GPLv3

开发语言: Java

操作系统: 跨平台

特点:轻量级开源多线程垂直检索爬虫框架

6、ItSucks

ItSucks是一个java web spider(web机器人,爬虫)开源项目。支持通过下载模板和正则表达式来定义下载规则。提供一个swing GUI操作界面。

特点:提供swing GUI操作界面

7、jcrawl

jcrawl是一款小巧性能优良的的web爬虫,它可以从网页抓取各种类型的文件,基于用户定义的符号,比如email,qq.

授权协议: Apache

开发语言: Java

操作系统: 跨平台

特点:轻量、性能优良,可以从网页抓取各种类型的文件

8、J

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_39969881/article/details/110447779

智能推荐

Win32 SDK Gui编程系列之--Win32 API通用控件_win32 sdk控件大全-程序员宅基地

文章浏览阅读147次,点赞2次,收藏2次。根据微软的信息,用CreateStatusWindow函数生成状态栏是古老的方法,现在建议使用CreateWindow函数。生成标签控件时,在窗口样式中添加TCS_HOTTRACK的话,当鼠标出现在标签上时,文字的颜色会发生变化。下图中,鼠标没有硬拷贝,但鼠标是CHF标签上方的状态,文字变成了天蓝色。同样,在窗口样式中添加TCS_BUTTONS的话,标签的形状会变成按钮的形状。只显示标签、控件的程序tabctrl.c和根据按下的标签进行显示的程序tabcontr0l.c和各自的执行结果如下所示。_win32 sdk控件大全

信息安全管理与评估赛题第2套_信息安全管理与评估赛项 单机取证镜像下载-程序员宅基地

文章浏览阅读237次。取证的信息可能隐藏在正常的、已删除的或受损的文件中,您可能需要运用编码转换技术、加解密技术、隐写技术、数据恢复技术,还需要熟悉常用的文件格式(如办公文档、压缩文档、图片等)。A集团的Linux服务器被黑客入侵,该服务器的Web应用系统被上传恶意软件,系统文件被恶意软件破坏,您的团队需要帮助该公司追踪此网络攻击的来源,在服务器上进行全面的检查,包括日志信息、进程信息、系统文件、恶意文件等,从而分析黑客的攻击行为,发现系统中的漏洞,并对发现的漏洞进行修复。_信息安全管理与评估赛项 单机取证镜像下载

最短路(简单)(待解决)_蓝桥杯 最短路 如下图所示,gg 是一个无向图,其中蓝色边的长度是 11、橘色边的长度-程序员宅基地

文章浏览阅读285次。python 练习题_蓝桥杯 最短路 如下图所示,gg 是一个无向图,其中蓝色边的长度是 11、橘色边的长度

CSS justify-content 属性_justify-content属性值-程序员宅基地

文章浏览阅读6.7w次,点赞40次,收藏267次。CSS 中的justify-content属性用于描述弹性盒子容器的对齐方式。它包含沿着分布在浏览器中的 flex 容器的主轴的内容项之间和周围的空间。注意:此属性不能用于沿垂直轴描述项目或容器。为了垂直对齐项目,我们可以使用align-items 属性在应用了 lengths 和 auto margins 属性后,对齐是可能的,即,如果在Flexbox 布局中至少有一个具有flex-grow 属性而不是 0 的灵活元素,那么它不会影响并且有任何影响不会有任何可用空间。句法:justi_justify-content属性值

JUC-CyclicBarrie(环形栅栏)_在 dc 中使用环形围栏库存-程序员宅基地

文章浏览阅读119次。CyclicBarrieCyclicBarrie与CountdownLatch相似,都可以用来模拟高并发场景,它可以用来阻塞每个线程,当满足某个条件之后释放线程,与CountdownLatch阻塞多个线程最后释放相似,例如显示生活中的开会,当所有人都到齐之后开始开会,每个线程都会执行阻塞之后也就是await方法之后的操作public static void main(String[] args) { final CyclicBarrier cyclicBarrier = new Cycl_在 dc 中使用环形围栏库存

进入页面获取不到audio/video属性值问题_获取不到audiooutput-程序员宅基地

文章浏览阅读1.3k次。有时候我们不用html5自带的视频/音频的控件,需要自定义, 这个时候可能就需要用到一些audio/video属性值。我们有个业务场景需要进入页面就获取音频的总时长, 但一直无法获取到,只有和页面产生交互才能获取,折腾了一段时间,总算解决了。 当音频/视频处于加载过程中时,会依次发生以下事件:loadstartdurationchangeloadedmetadataloadeddata..._获取不到audiooutput

随便推点

C语言获取硬件信息(CPU序列号,硬盘序列号,网卡IP、MAC地址、是否插入网线)_c获取cpu序列号-程序员宅基地

文章浏览阅读6.6k次,点赞6次,收藏69次。本文主要介绍Linux和Windows下使用C语言获取各种硬件信息,包括CPU序列号、硬盘序列号、网卡信息(包括网卡名字、IP地址、MAC地址、网卡是否插入网线等)。_c获取cpu序列号

【Elasticsearch】es 定期删除 已经删除的数据 物理删除 不是等待段合并-程序员宅基地

文章浏览阅读1.3k次。由于在Lucene中段具有不变性,所以删除一个文档后不会立即从硬盘中删除该文档,而是产生一个.del文件专门记录被删除的文档。而在检索的过程中,被删除的文件还会参与检索,只不过最后会被过滤,如果被删除的文件太多,则也会影响查询的效率。【Elasticsearch】Elasticsearch如何物理删除给定期限的历史数据?我们知道删除数据会在段合并的时候,进行物理删除,参考【Elasticsearch】elasticsearch 段 segment 段合并。

RS232/UART_rs232为啥是负逻辑-程序员宅基地

文章浏览阅读866次。了解UART1.serial communication  Serial communication is a communication method that uses one or two transmission lines to send and receive data, and that data is continuously sent and received one b..._rs232为啥是负逻辑

SQL 统计日环比、周同比_日环比周同比-程序员宅基地

文章浏览阅读1.9w次,点赞8次,收藏30次。date gmv 2019-01-01 115.7 2019-01-02 180.1 2019-01-03 296.8 2019-01-04 706.0 2019-01-05 703.5 2019-01-06 527.3 2019-01-07 462.9 2019-01-08 270.1 2019-01-09..._日环比周同比

【Java-Bug】JDK没有javax.annotation.jar包解决方案,无法使用@Resource解决方案-程序员宅基地

文章浏览阅读2.9w次,点赞69次,收藏73次。高版本JDK没有javax.annotation.jar包解决方案,高版本JDK无法使用@Resource解决方案_javax.annotation

对象存储与块存储、文件存储等对比-程序员宅基地

文章浏览阅读471次。看到 一篇文档, 讲 对象存储, 好奇,搜索文章,摘抄,学习记录 !背景:传统存储在面对海量非结构化数据时,在存储、分享与容灾上面临很大的挑战,主要表现在以下几个方面:传统存储并非为非结构化内容设计或优化、成本过高、并非PB级的扩展、不支持永远在线、专有的一体机设备等等,非结构化数据以每年60%~80%的速率增长,从而可扩展性变成了最迫切的需求。传统存储在面对海量非结构化数据时,..._对象存储连接协议相比文件存储使用复杂。

推荐文章

热门文章

相关标签