😉6、ItSucks
ItSucks
是一个java web spider
(web机器人,爬虫)开源项目。支持通过下载模板和正则表达式来定义下载规则。提供一个swing GUI
操作界面。
开发语言:Java
特点:提供swing GUI操作界面
🖥 项目主页:http://itsucks.sourceforge.net/
🖋**下载地址:https://sourceforge.net/projects/itsucks/**
😉7、jcrawl
jcrawl
是一款小巧性能优良的的web爬虫,它可以从网页抓取各种类型的文件,基于用户定义的符号,比如email,qq。
开发语言:Java
操作系统:跨平台
授权协议:Apache
特点:轻量、性能优良,可以从网页抓取各种类型的文件
🖥 项目主页:https://code.google.com/archive/p/jcrawl/
🖋**下载地址:https://github.com/danielfsousa/jcrawler**
😉8、JSpider
JSpider是一个用Java实现的WebSpider,JSpider的执行格式如下:
jspider [URL] [ConfigName]
URL一定要加上协议名称,如:http://,否则会报错。如果省掉ConfigName,则采用默认配置。
JSpider 的行为是由配置文件具体配置的,比如采用什么插件,结果存储方式等等都在conf[ConfigName]\目录下设置。JSpider默认的配置种类 很少,用途也不大。但是JSpider非常容易扩展,可以利用它开发强大的网页抓取与数据分析工具。要做到这些,需要对JSpider的原理有深入的了 解,然后根据自己的需求开发插件,撰写配置文件。
开发语言:Java
授权协议:LGPL
操作系统:跨平台
特点:功能强大,容易扩展
🖥 项目主页:http://j-spider.sourceforge.net/
🖋**项目下载:http://j-spider.sourceforge.net/quick/download.html**
😉9、Leopdo
用JAVA编写的web 搜索和爬虫,包括全文和分类垂直搜索,以及分词系统。
开发语言:Java
授权协议:Apache
操作系统:跨平台
特点:包括全文和分类垂直搜索,以及分词系统
🖥 项目主页:https://sourceforge.net/projects/leopdo/
🖋**项目下载:https://sourceforge.net/projects/leopdo/files/**
😉10、MetaSeeker
是一套完整的网页内容抓取、格式化、数据集成、存储管理和搜索解决方案。
网络爬虫有多种实现方法,如果按照部署在哪里分,可以分成:
- 服务器侧:
一般是一个多线程程序,同时下载多个目标HTML,可以用PHP, Java, Python(当前很流行)等做,可以速度做得很快,一般综合搜索引擎的爬虫这样做。但是,如果对方讨厌爬虫,很可能封掉你的IP,服务器IP又不容易 改,另外耗用的带宽也是挺贵的。建议看一下Beautiful soap。
- 客户端:
一般实现定题爬虫,或者是聚焦爬虫,做综合搜索引擎不容易成功,而垂直搜诉或者比价服务或者推荐引擎,相对容易很多,这类爬虫不是什么页面都 取的,而是只取你关系的页面,而且只取页面上关心的内容,例如提取黄页信息,商品价格信息,还有提取竞争对手广告信息的,搜一下Spyfu,很有趣。这类 爬虫可以部署很多,而且可以很有侵略性,对方很难封锁。
MetaSeeker中的网络爬虫就属于后者。
MetaSeeker工具包利用Mozilla平台的能力,只要是Firefox看到的东西,它都能提取。
开发语言:Java
特点:网页抓取、信息提取、数据抽取工具包,操作简单
🖥 项目主页:http://www.gooseeker.com/
🖋**项目下载:http://www.gooseeker.com/pro/gooseeker.html**
😉11、Playfish
playfish是一个采用java技术,综合应用多个开源java组件实现的网页抓取工具,通过XML配置文件实现高度可定制性与可扩展性的网页抓取工具。
应用开源jar包包括httpclient(内容读取),dom4j(配置文件解析),jericho(html解析),已经在 war包的lib下。
这个项目目前还很不成熟,但是功能基本都完成了。要求使用者熟悉XML,熟悉正则表达式。目前通过这个工具可以抓取各类论坛,贴吧,以及各类CMS系统。像Discuz!,phpbb,论坛跟博客的文章,通过本工具都可以轻松抓取。抓取定义完全采用XML,适合Java开发人员使用。
使用方法:
- 下载右边的.war包导入到eclipse中。
- 使用WebContent/sql下的wcc.sql文件建立一个范例数据库。
- 修改src包下wcc.core的dbConfig.txt,将用户名与密码设置成你自己的mysql用户名密码。
- 然后运行SystemCore,运行时候会在控制台,无参数会执行默认的example.xml的配置文件,带参数时候名称为配置文件名。
- 系统自带了3个例子,分别为baidu.xml抓取百度知道,example.xml抓取我的javaeye的博客,bbs.xml抓取一个采用 discuz论坛的内容。
授权协议:MIT
开发语言:Java
操作系统:跨平台
特点:通过XML配置文件实现高度可定制性与可扩展性
🖥 项目主页:http://playfish.lofteicom/
🖋 项目下载:http://www.oschina.net/p/playfish
😉12、Spiderman
Spiderman
是一个基于微内核+插件式架构的网络蜘蛛,它的目标是通过简单的方法就能将复杂的目标网页信息抓取并解析为自己所需要的业务数据。
怎么使用?
首先,确定好你的目标网站以及目标网页(即某一类你想要获取数据的网页,例如网易新闻的新闻页面)然后,打开目标页面,分析页面的HTML结构,得到你想要数据的XPath,具体XPath怎么获取请看下文。
最后,在一个xml配置文件里填写好参数,运行Spiderman
吧!
开发语言:Java
操作系统:跨平台
授权协议:Apache
特点:灵活、扩展性强,微内核+插件式架构,通过简单的配置就可以完成数据抓取,无需编写一句代码
🖥 项目主页:https://gitee.com/l-weiwei/spiderman
🖋 项目下载:https://gitee.com/l-weiwei/spiderman
😉13、webmagic
webmagic
的是一个无须配置、便于二次开发的爬虫框架,它提供简单灵活的API,只需少量代码即可实现一个爬虫。
webmagic采用完全模块化的设计,功能覆盖整个爬虫的生命周期(链接提取、页面下载、内容抽取、持久化),支持多线程抓取,分布式抓取,并支持自动重试、自定义UA/cookie等功能。
webmagic包含强大的页面抽取功能,开发者可以便捷的使用css selector、xpath和正则表达式进行链接和内容的提取,支持多个选择器链式调用。
开发语言:Java
授权协议:Apache
操作系统:跨平台
特点:功能覆盖整个爬虫生命周期,使用Xpath和正则表达式进行链接和内容的提取。
❤️🔥备注:这是一款国产开源软件,由 黄亿华贡献
🖥 项目主页:http://webmagic.io/docs/
🖋 项目下载:http://git.oschina.net/flashsword20/webmagic
😉14、Web-Harvest
Web-Harvest
是一个Java开源Web数据抽取工具。它能够收集指定的Web页面并从这些页面中提取有用的数据。Web-Harvest
主要是运用了像XSLT,XQuery,正则表达式等这些技术来实现对text/xml的操作。
其实现原理是,根据预先定义的配置文件用httpclient获取页面的全部内容**(关于httpclient的内容,本博文章后面介绍),**然后运用XPath、XQuery、正则表达式等
这些技术来实现对text/xml的内容筛选操作,选取精确的数据。前两年比较火的垂直搜索(比如:酷讯等)也是采用类似的原理实现的。Web-Harvest应用,关键就是理解和定义配置文件,其他的就是考虑怎么处理数据的Java代码。当然在爬虫开始前,也可以把Java变量填充到配置文件中,实现动态的配置。
开发语言:Java
授权协议:BSD
特点:运用XSLT、XQuery、正则表达式等技术来实现对Text或XML的操作,具有可视化的界面
🖥 项目主页:http://web-harvest.sourceforge.net/
🖋 项目下载:http://web-harvest.sourceforge.net/download.php
😉15、WebSPHINX
WebSPHINX
是一个Java类包和Web爬虫的交互式开发环境。Web爬虫(也叫作机器人或蜘蛛)是可以自动浏览与处理Web页面的程序。WebSPHINX由两部分组成:爬虫工作平台和WebSPHINX类包。
开发语言:Java
授权协议:Apache
特点:由两部分组成:爬虫工作平台和WebSPHINX类包
🖥 项目主页:http://www.cs.cmu.edu/~rcm/websphinx/
🖋 项目下载:http://www.cs.cmu.edu/~rcm/websphinx/#download
😉16、YaCy
YaCy基于p2p的分布式Web搜索引擎.同时也是一个Http缓存代理服务器.这个项目是构建基于p2p Web索引网络的一个新方法.它可以搜索你自己的或全局的索引,也可以Crawl自己的网页或启动分布式Crawling等.
授权协议:GPL
操作系统:跨平台
开发语言:Java Perl
特点:基于P2P的分布式Web搜索引擎
🖥 项目主页:https://www.yacy.net/
🖋 项目下载:https://github.com/yacy/yacy_search_server
😉17、Web Crawler
mart and Simple Web Crawler
是一个Web爬虫框架。集成Lucene支持。该爬虫可以从单个链接或一个链接数组开始,提供两种遍历模式:最大迭代和最大深度。可以设置 过滤器限制爬回来的链接,默认提供三个过滤器ServerFilter、BeginningPathFilter和 RegularExpressionFilter,这三个过滤器可用AND、OR和NOT联合。在解析过程或页面加载前后都可以加监听器。介绍内容来自Open-Open。
授权协议:LGPL
开发语言:Java
操作系统:跨平台
特点:多线程,支持抓取PDF/DOC/EXCEL等文档来源
🖥 项目主页:https://github.com/zhk0603/WebCrawler
🖋 项目下载:https://github.com/zhk0603/WebCrawler
Python爬虫
😃1、QuickRecon
QuickRecon
是一个简单的信息收集工具,它可以帮助你查找子域名名称、perform zone transfe、收集电子邮件地址和使用microformats寻找人际关系等。QuickRecon使用python编写,支持linux和 windows操作系统。
授权协议:GPLv3
开发语言:Python
操作系统:Windows Linux
特点:具有查找子域名名称、收集电子邮件地址并寻找人际关系等功能
🖥 项目主页:https://pypi.org/project/quickrecon/
🖋 项目下载:https://code.activestate.com/pypm/quickrecon/
😃2、PyRailgun
这是一个非常简单易用的抓取工具。支持抓取javascript渲染的页面的简单实用高效的python网页爬虫抓取模块
授权协议:MIT
开发语言:Python
操作系统:跨平台 Windows Linux OS X
特点:简洁、轻量、高效的网页抓取框架
❤️🔥备注:此软件也是由国人开放
🖥 项目主页:https://pypi.org/project/pyrailgun/
🖋 项目下载:https://pypi.org/project/pyrailgun/#files
😃19、Scrapy
Scrapy
是一套基于基于Twisted的异步处理框架,纯python实现的爬虫框架,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页内容以及各种图片,非常之方便~
授权协议:BSD
开发语言:Python
操作系统:跨平台
特点:基于Twisted的异步处理框架,文档齐全
🖥 项目主页:https://scrapy.org/
🖋 项目下载:https://github.com/scrapy/scrapy
C++爬虫
😀1、hispider
HiSpider is a fast and high performance spider with high speed
严格说只能是一个spider系统的框架, 没有细化需求, 目前只是能提取URL, URL排重, 异步DNS解析, 队列化任务, 支持N机分布式下载, 支持网站定向下载(需要配置hispiderd.ini whitelist)。
特征和用法:
- 基于unix/linux系统的开发
- 异步DNS解析
- URL排重
- 支持HTTP 压缩编码传输 gzip/deflate
- 字符集判断自动转换成UTF-8编码
- 文档压缩存储
- 支持多下载节点分布式下载
- 支持网站定向下载(需要配置 hispiderd.ini whitelist )
- 可通过 http://127.0.0.1:3721/ 查看下载情况统计,下载任务控制(可停止和恢复任务)
- 依赖基本通信库libevbase 和 libsbase (安装的时候需要先安装这个两个库)、
工作流程:
- 从中心节点取URL(包括URL对应的任务号, IP和port,也可能需要自己解析)
- 连接服务器发送请求
- 等待数据头判断是否需要的数据(目前主要取text类型的数据)
- 等待完成数据(有length头的直接等待说明长度的数据否则等待比较大的数字然后设置超时)
- 数据完成或者超时, zlib压缩数据返回给中心服务器,数据可能包括自己解析DNS信息, 压缩后数据长度+压缩后数据, 如果出错就直接返回任务号以及相关信息
- 中心服务器收到带有任务号的数据, 查看是否包括数据, 如果没有数据直接置任务号对应的状态为错误, 如果有数据提取数据种link 然后存储数据到文档文件.
- 完成后返回一个新的任务.
授权协议:BSD
操作系统:Linux
开发语言:C/C++
开发语言:C/C++
特点:支持多机分布式下载, 支持网站定向下载
🖥 项目主页:https://codingdict.com/os/software/74012
🖋 项目下载:https://code.google.com/archive/p/hispider/downloads
😀2、larbin
larbin是一种开源的网络爬虫/网络蜘蛛,由法国的年轻人 Sébastien Ailleret独立开发。larbin目的是能够跟踪页面的url进行扩展的抓取,最后为搜索引擎提供广泛的数据来源。Larbin只是一个爬虫,也就 是说larbin只抓取网页,至于如何parse的事情则由用户自己完成。另外,如何存储到数据库以及建立索引的事情 larbin也不提供。一个简单的larbin的爬虫可以每天获取500万的网页。
利用larbin,我们可以轻易的获取/确定单个网站的所有链接,甚至可以镜像一个网站;也可以用它建立url 列表群,例如针对所有的网页进行 url retrive后,进行xml的联结的获取。或者是 mp3,或者定制larbin,可以作为搜索引擎的信息的来。
授权协议:GPL
操作系统:Linux
开发语言:C/C++
特点:高性能的爬虫软件,只负责抓取不负责解析
🖥 项目主页:https://baike.baidu.com/item/larbin/8487233?fr=aladdin
🖋 项目下载:https://github.com/ictxiangxin/larbin
😀3、Methabot
Methabot 是一个经过速度优化的高可配置的 WEB、FTP、本地文件系统的爬虫软件。
授权协议:未知
开发语言:C/C++
操作系统:Windows Linux
特点:过速度优化、可抓取WEB、FTP及本地文件系统
🖥 项目主页:https://sourceforge.net/projects/methabot/
🖋 项目下载:http://www.oschina.net/code/tag/methabot
C#爬虫
😏1、NWebCrawler
NWebCrawler是一款开源,C#开发网络爬虫程序。
- 可配置:线程数,等待时间,连接超时,允许MIME类型和优先级,下载文件夹。
- 统计信息:URL数量,总下载文件,总下载字节数,CPU利用率和可用内存。
- Preferential crawler:用户可以设置优先级的MIME类型。
- Robust: 10+ URL normalization rules, crawler trap avoiding rules.。
开发语言:C#
授权协议:GPLv2
操作系统:Windows
特点:统计信息、执行过程可视化
🖥 项目主页:http://www.open-open.com/lib/view/home/1350117470448
🖋 项目下载:https://archive.codeplex.com/?p=nwebcrawler
😏2、Sinawler
国内第一个针对微博数据的爬虫程序!原名“新浪微博爬虫”。
登录后,可以指定用户为起点,以该用户的关注人、粉丝为线索,延人脉关系搜集用户基本信息、微博数据、评论数据。
该应用获取的数据可作为科研、与新浪微博相关的研发等的数据支持,但请勿用于商业用途。该应用基于.NET2.0框架,需SQL SERVER作为后台数据库,并提供了针对SQL Server的数据库脚本文件。
另外,由于新浪微博API的限制,爬取的数据可能不够完整(如获取粉丝数量的限制、获取微博数量的限制等)
本程序版权归作者所有。你可以免费: 拷贝、分发、呈现和表演当前作品,制作派生作品。你不可将当前作品用于商业目的。
5.x版本已经发布!该版本共有6个后台工作线程:爬取用户基本信息的机器人、爬取用户关系的机器人、爬取用户标签的机器人、爬取微博内容的机器人、爬取微博评论的机器人,以及调节请求频率的机器人。更高的性能!最大限度挖掘爬虫潜力!以现在测试的结果看,已经能够满足自用。
本程序的特点:
- 6个后台工作线程,最大限度挖掘爬虫性能潜力!
- 界面上提供参数设置,灵活方便
- 抛弃app.config配置文件,自己实现配置信息的加密存储,保护数据库帐号信息
- 自动调整请求频率,防止超限,也避免过慢,降低效率
- 任意对爬虫控制,可随时暂停、继续、停止爬虫
- 良好的用户体验
授权协议:GPLv3
开发语言:C# .NET
操作系统:Windows
🖥 项目主页:https://code.google.com/archive/p/sinawler/
🖋 项目下载:https://code.google.com/archive/p/sinawler/downloads
😏3、spidernet
如果你也是看准了Python,想自学Python,在这里为大家准备了丰厚的免费学习大礼包,带大家一起学习,给大家剖析Python兼职、就业行情前景的这些事儿。
一、Python所有方向的学习路线
Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、学习软件
工欲善其必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。
三、全套PDF电子书
书籍的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你觉得你掌握了,这时候建议还是得去看一下书籍,看权威技术书籍也是每个程序员必经之路。
四、入门学习视频
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。
四、实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
五、面试资料
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
成为一个Python程序员专家或许需要花费数年时间,但是打下坚实的基础只要几周就可以,如果你按照我提供的学习路线以及资料有意识地去实践,你就有很大可能成功!
最后祝你好运!!!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!