2020-03-27

Web-crawler



 
1. spider
 1.1 robots.txt
 1.2 ads.txt
 1.3 security.txt
 1.4 blogger.com 上的 robots.txt和ads.txt
2. 爬虫软件列表
 2.1 介绍一些比较方便好用的爬虫工具和服务
 2.2 33款可用来抓数据的开源爬虫软件工具(全都没试过)
3. 更多相关

1. spider

https://en.wikipedia.org/wiki/Web_crawler
https://zh.wikipedia.org/zh-hans/網路爬蟲
网络爬虫(英语:web crawler),也叫网络蜘蛛(spider),是一种用来自动浏览万维网的网络机器人。其目的一般为编纂网络索引。
网络爬虫也可称作网络蜘蛛[1]、蚂蚁、自动索引程序(automatic indexer),或(在FOAF软件中)称为网络疾走(web scutter)。

1.1 robots.txt

放在网页服务器上,告知网络蜘蛛哪些页面内容可获取或不可获取。
https://zh.wikipedia.org/wiki/Robots.txt
https://en.wikipedia.org/wiki/Robots_exclusion_standard
robots.txt(统一小写)是一种存放于网站根目录下的ASCII编码的文本文件,它通常告诉网络搜索引擎的漫游器(又称网络蜘蛛),此网站中的哪些内容是不应被搜索引擎的漫游器获取的,哪些是可以被漫游器获取的。因为一些系统中的URL是大小写敏感的,所以robots.txt的文件名应统一为小写。robots.txt应放置于网站的根目录下。如果想单独定义搜索引擎的漫游器访问子目录时的行为,那么可以将自定的设置合并到根目录下的robots.txt,或者使用robots元数据(Metadata,又称元数据)。
robots.txt协议并不是一个规范,而只是约定俗成的,所以并不能保证网站的隐私。注意robots.txt是用字符串比较来确定是否获取URL,所以目录末尾有与没有斜杠“/”表示的是不同的URL。robots.txt允许使用类似"Disallow: *.gif"这样的通配符[1][2]。
其他的影响搜索引擎的行为的方法包括使用robots元数据:
<meta name="robots" content="noindex,nofollow" />
humans.txt
https://en.wikipedia.org/wiki/Robots_exclusion_standard#Alternatives

1.2 ads.txt

a standard for listing authorized ad sellers 列出授权的标准
https://en.wikipedia.org/wiki/Ads.txt

1.3 security.txt

a file to describe the process for security researchers to follow in order to report security vulnerabilities
描述安全研究人员为了报告安全漏洞而要遵循的过程的文件
https://en.wikipedia.org/wiki/Security.txt

1.4 blogger.com 上的 robots.txt和ads.txt

2. 爬虫软件列表

2.1 介绍一些比较方便好用的爬虫工具和服务

https://zhuanlan.zhihu.com/p/57678048
介绍一些比较方便好用的爬虫工具和服务
Chrome 扩展Web Scraperwebscraper.io累计下载30w,点选式的数据抓取,有自己的 Cloud Scraper,支持定时任务、API 式管理、代理切换功能。可导出CSV 等
Data ScraperData-miner.io免费版本每个月只能爬取 500 个页面 可导出CSV 等
Listlylistly.ioexcel
Mercurymercury.postlight.com
框架Scrapyscrapy.orgPython 爬虫学习者使用最多的爬虫框架
PySpidergithub.com/binux/pyspider基于Python, 可视化的管理,在线编程。分布式爬取,可存储到各种数据库。代码来实现编程,可扩展性很强的,简单易用。
Apifysdk.apify.com基于Node.js, 可定制化也非常强,支持各种文件格式的导出,并且支持和 Apify Cloud 的对接实现云爬取。
商业
服务
Parsehubwww.parsehub.com(Mac,Windows,Linux), Firefox扩展, 导出为 JSON, CSV, Google 表格等,基于Web, 可以使用机器学习技术识别复杂的文档. 免费版本限制为 5 个项目,每次限制爬取 200 页
Dexi.iodexi.io可视化点击抓取,自然语言解析工具,网页端完成,可通过控制台来完成任务的运行和调度。提供代理 IP,与第三方集成: http://Box.net、Google Drive 等工具。(之前叫CloudScrape)
Octparsewww.octoparse.com免费版支持创建 10 个爬取的基础服务
Content Grabberwww.contentgrabber.com有验证码识别等解决方案,并使用 Nohodo 作为 IP 代理。数据支持导出常用格式,也支持 PDF 格式导出。
Mozendawww.mozenda.com提供了 FTP、亚马逊 S3、Dropbox 等的支持。
ScraperAPIwww.scraperapi.com提供简易的页面渲染服务,通过 API 来操作的
Diffbotwww.diffbot.com通过机器学习算法、图像识别、自然语言处理等方案综合解析,可说是目前业界数一数二的页面智能解析方案。
Import.iowww.import.io提供了从数据爬取、清洗、加工到应用的一套完整解决方案
Embed.lyembed.ly智能化页面解析方案,类似 Diffbot,可以自动完成页面的解析。
ScrapeStormwww.scrapestorm.com(Mac,Windows,Linux), 支持自动识别翻页, 自动识别内容, JavaScript 渲染, 模拟登录爬取等等。里面是后裔采集器?
Shenjianshou
神箭手
www.shenjian.io国内数一数二的爬虫平台。旗下后裔采集器,就是上文介绍的 ScrapeStorm 所采用的爬取工具.
Bazhuayu
八爪鱼
www.bazhuayu.com国内比较知名的采集器,功能类似后裔采集器,可以通过可视化点选完成爬虫的相关配置,部分功能比后裔采集器更加强大。
Zaoshuzaoshu.io目前已经不面向于个人用户,主要是提供企业数据服务

推荐的爬虫工具, 上文中绿色的2个,就认识Web Scraper。
Scrapy 看起来比较热门。
https://zh.wikipedia.org/wiki/Scrapy
https://en.wikipedia.org/wiki/Scrapy
Scrapy(/ˈskreɪpi/ SKRAY-pee[2]是一个Python编写的开源网络爬虫框架。它是一个被设计用于爬取网络数据、提取结构性数据的程序框架。该框架主要由Scrapinghub 公司进行维护。

2.2 33款可用来抓数据的开源爬虫软件工具(全都没试过)

http://www.woshipm.com/xiazai/216336.html
ArachnidGPLJavaOS小型HTML解析器http://www.woshipm.com/xiazai/216336.html
crawlzillaApache License 2
Linux中文分词能力https://github.com/shunfa/crawlzilla
Ex-CrawlerGPLv3Java跨平台守护进程执行,数据库存储
HeritrixApacheJava跨平台严格遵照robots文件的排除指示和META robots标签https://github.com/internetarchive/heritrix3
heyDrGPLv3Java跨平台轻量级开源多线程垂直检索爬虫框架
ItSucks
Java
提供swing GUI操作界面
jcrawlApacheJava跨平台轻量、性能优良
JspiderLGPLJava跨平台功能强大,容易扩展
LeopdoApacheJava跨平台全文和分类垂直搜索,以及分词系统
MetaSeeker


网页抓取、信息提取、数据抽取工具包www.gooseeker.com/cn/node/download/front
PlayfishMITJava跨平台通过XML配置文件实现可定制与可扩展
SpidermanApacheJava跨平台灵活、扩展性强,微内核+插件式架构,简单的配置完成抓取,无需编写代码
webmagicApacheJava跨平台国产开源软件http://git.oschina.net/flashsword20/webmagic
Web-HarvestBSDJava
运用XSLT、XQuery、正则表达式等技术来实现对Text或XML的操作,可视化界面
WebSPHINXApacheJava
爬虫工作平台和WebSPHINX类包
YaCyGPLJava Perl跨平台基于P2P的分布式Web搜索引擎
QuickReconGPLv3PythonWindows Linux具有查找子域名名称、收集电子邮件地址并寻找人际关系等功能
PyRailgunMITPython跨平台简洁、轻量、高效的网页抓取框架 (国产)https://github.com/princehaku/pyrailgun#readme
ScrapyBSDPython跨平台基于Twisted的异步处理框架,文档齐全https://github.com/scrapy/scrapy
hispiderBSDC++Linux支持多机分布式下载, 支持网站定向下载
larbinGPLC/C++Linux高性能的爬虫,只负责抓取不负责解析
Methabot
C/C++Windows Linux速度优化, 可抓取web, ftp及本地文件系统http://www.oschina.net/code/tag/methabot
NwebCrawlerGPLv2C#Windows统计信息、执行过程可视化http://www.open-open.com/lib/view/home/1350117470448
SinawlerGPLv3C# .NETWindows国内第一个针对微博数据的爬虫程序!原名“新浪微博爬虫”。
spidernetMITC#Windows以递归树为模型的多线程web爬虫程序,支持以GBK (gb2312)和utf8编码的资源,使用sqlite存储数据https://github.com/nsnail/spidernet
Web CrawlerLGPLJavaLGPL多线程,支持抓取PDF/DOC/EXCEL等文档来源
网络矿工BSDC# .NETWindows功能丰富,毫不逊色于商业软件 (原soukey采摘)
OpenWebSpider
PHP跨平台开源多线程网络爬虫,有许多有趣的功能
PhpDigGPLPHP跨平台具有采集网页内容、提交表单功能http://www.phpdig.net/navigation.php?action=demo
ThinkUpGPLPHP跨平台采集推特、脸谱等社交网络数据的社会媒体视角引擎,可进行交互分析并将结果以可视化形式展现https://github.com/ThinkUpLLC/ThinkUp
微购GPLPHP跨平台基于ThinkPHP框架开发的开源的购物分享系统http://tlx.wego360.com/
EbotGPLv3ErLang跨平台可伸缩的分布式网页爬虫https://github.com/matteoredaelli/ebot
SpidrMITRuby
可将一个或多个网站、某个链接完全抓取到本地


3. 更多相关

为何大量网站不能抓取?爬虫突破封禁的6种常见方法
https://www.cnblogs.com/junrong624/p/5533655.html

当爬虫被拒绝时(Access Denied)
https://www.cnblogs.com/FengYan/archive/2012/07/31/2614335.html
反爬虫四个基本策略 (转自上文)
https://www.cnblogs.com/junrong624/p/5508934.html

没有评论:

发表评论

Diode

导航 (返回顶部) 1. Diode 1.1 Diode 概述 1.2 肖克利二极管方程 1.3 缩写 Abbreviations 2. 主要功能 2.1 单向电流 (Unidirectional current flow) 2.2 阈值电压 (Threshold...