如何选择解析站点的解决方案:分类以及对程序,服务和框架的全面概述

抓取(有时称为Web抓取)是从各个站点自动收集信息的过程。论坛,新闻站点,社交网络,市场,在线商店甚至搜索结果,这都不是从中收集内容的资源的完整列表。



而且经常需要大量,大量地收集内容,如果仍然需要一定频率的数据,则不可能手动解决此任务。这是特殊算法的解救之道,该算法根据特定条件收集信息,构造并以所需的形式呈现。



谁需要解析站点,为什么?



解析主要由专业人员用来解决工作任务,因为自动化使您可以立即获取大量数据,但是对于解决特定问题也很有用。



  • 营销人员收集有关销量的信息,确定货架份额,找出类别需求和其他可预测销量的指标;
  • 产品经理收集有关产品指标变化的信息,进行A / B测试,衡量统计显着性;
  • 分析师监测竞争对手价格的变化;
  • 开发人员将批发商内容填充到在线商店中,并自动更新价格;
  • SEO专家将找出是否已填写所有元数据,H1,标题,描述,分析不存在的页面(显示404错误),识别关键字;
  • 制造业公司的经理们确保合作伙伴不要倾倒并获得业务指标;
  • 出于私人目的,您可以收集要保留供个人使用的食谱,课程或任何其他信息。


该应用程序的目的很明确,现在让我们弄清楚存在哪种解析器,并选择一种解决问题的工具,为此,我们将解析器分为几组,然后看看市场上有哪些解决方案。



用于解析的程序和工具的分类



按资源使用



这一点很重要,如果解析器将定期用于业务任务,则需要在执行器或您的执行器上确定算法将在哪一侧起作用。一方面,要在家中部署云解决方案,您将需要专家来安装和维护软件,服务器上的专用空间,并且该程序的工作将消耗服务器电源。而且很贵。另一方面,如果您负担得起,那么这样的解决方案可能会更便宜(如果数据收集的规模确实是工业的),则需要研究关税等级。



还有一个片刻的隐私,一些公司的策略不允许将数据存储在其他人的服务器上,在这里您需要查看特定的服务,首先,解析器收集的数据可以通过API立即传输,其次,此刻可以通过协议中的附加条款解决。



通过访问方式



远程解决方案



这包括云程序(SaaS解决方案),此类解决方案的主要优点是它们安装在远程服务器上,并且不使用计算机资源。您通过浏览器(在这种情况下,可以使用任何操作系统)或应用程序连接到服务器,并获取所需的数据。



像本文中所有现成的解决方案一样,云服务不保证您将能够解析任何站点。您可能会遇到复杂的结构,服务“不了解”的站点技术,“太过苛刻”的保护或无法解释数据(例如,以文本形式而不是以文本形式显示文本数据)。



优点:



  • 不需要在计算机上安装;
  • 数据是远程存储的,不占用空间,您只需下载所需的结果即可;
  • 它们可以处理大量数据。
  • 能够使用API​​和随后的数据可视化自动化;


缺点:



  • 通常,它比台式机解决方案贵。
  • 需要定制和维护;
  • 无法解析具有复杂安全性的网站和/或解释数据。


让我们考虑受欢迎的服务和工作条件。



Octoparse是流行的云服务之一。







服务特色:



  • 可视界面,用于捕获数据;
  • 无需编程知识;
  • 适用于动态网站元素,例如无限滚动,授权窗口,下拉列表;
  • 服务语言-英语;


每月费用:



  • 免费计划允许您收集多达10,000个值并并行运行2个流;
  • 付费计划$ 89和$ 249具有不同的数据解析限制;
  • 具有个性化需求的公司的可定制计划。


Scraper API是具有详细文档的API服务。







服务特色:



  • 自动替换代理地址和重复的不成功请求;
  • 验证码输入;
  • 通过API进行工作,并且需要有关代码的知识;
  • 服务语言-英语;


GET请求的示例:







每月费用:



  • 免费-1000次API调用(最多5个并发请求);
  • 入门级和中型付费计划,分别为29美元和99美元,无代理地理位置定位且不支持JavaScript;
  • 具有JavaScript支持和扩展的数据收集限制的业务计划;
  • 针对有个别需求的公司的自定义计划。


ScrapingHub是一个功能强大的基于云的工具,其中包括代理轮换工具,用于解析(要求编码)的无头浏览器和数据存储工具。







服务特色:



  • 服务是一套工具,您可以选择必要的工具,相对于便利性,每个工具需要单独付费;
  • API可用性;
  • 提供视频课程以快速入门;
  • 服务语言是英语。


每月的代理费用:



  • 演示访问10,000个请求;
  • 每月200,000个请求的价格为99美元,而250万个请求的价格为349美元;
  • 无限服务起价为999美元。


每月用于数据的云存储成本:



  • 免费计划将数据存储限制为7天,扫描时间限制为1小时;
  • 付费计划$ 9。


每月进行浏览器解析:



  • $ 25 / $ 50 / $ 100用于在具有不同容量的服务器上访问浏览器。


针对单个请求的定制服务的成本是单独计算的。



Mozenda是一项受欢迎的服务,它使您可以在云中和本地计算机上工作,具有无需编程知识即可进行可视数据捕获的界面。







服务特色:



  • 如果您无法使用该服务收集必要的数据,则可以退款;
  • 良好的技术支持;
  • 无需编程知识即可解析的能力;
  • API可用性;
  • 与各种服务,跟踪器,Bl系统集成;
  • 服务语言是英语。


每月费用:



  • 30天免费计划;
  • 付费计划从250美元到450美元不等,其中包括一组不同的服务;
  • 具有个性化需求的公司的可定制计划。


ScrapingBee-服务提供了通过无头浏览器解析数据的能力,需要编程知识。







服务特色:



  • 发生代理时自动更改代理;
  • API可用性;
  • 能够使用Javascript;
  • 如果解析器无法接收数据,则不会收取任何费用;
  • 服务语言是英语。


每月费用:



  • 免费计划包括1000个API调用;
  • $ 29,包括250,000个请求,代理,无API;
  • $ 99,包括1,000,000个请求,代理和API;
  • 具有个性化需求的公司的可定制计划。


桌面解决方案(解析程序)



这样的程序被安装在计算机上。它们用于非常规和非资源密集型任务。许多允许您直观地自定义数据收集参数。



优点:



  • 始终在手边,尤其是如果安装在笔记本电脑上;
  • 他们通常具有可视化的编程界面。


缺点:



  • 浪费计算机资源(计算能力,磁盘空间);
  • 它们只能在为其编写的OS上工作;
  • 无法保证该程序将能够收集必要的数据,切换清单;
  • 您通常需要寻找代理地址来绕过站点保护。


ParseHub是一个程序,可让您无需编程知识即可直观地从站点收集数据。



程序界面:







特点:



  • 解析启动调度程序;
  • 代理支持(您需要使用自己的代理);
  • 正则表达式支持;
  • API可用性;
  • 使用JavaScript和AJAX;
  • 在服务器上存储数据并将结果上传到Google表格;
  • 适用于Windows,Mac,Linux;
  • 服务语言是英语。


每月费用:



  • 免费计划允许您每次启动从200页中收集数据,限制为40分钟,仅文本数据,无代理轮换;
  • 149美元,每次启动10,000页,在10分钟内限制200页,文件上传,代理,计划程序;
  • 499美元,每次启动无限制页面,在2分钟内限制为200页,文件上传,代理,计划程序;
  • 个人关税。


Easy Web Extract是一个简单的网站抓取工具,不需要任何编程知识。



程序界面:







特点:



  • 可视化编程;
  • 多达24个并行流;
  • 解析具有动态内容的网站;
  • 模拟人类行为;
  • 调度程序;
  • 保存文件;
  • 在Windows上工作;
  • 服务语言是英语。


成本:



  • 14天的免费版本,您可以收集多达200个第一结果,导出多达50个结果;
  • 解锁版本的价格为39美元,额外的许可证价格为29美元。


FMiner是具有直观界面的可视化Web抓取工具。与需要表单输入和代理服务器的站点一起使用。



程序界面:







特点:



  • 用于解析器可视化编程的编辑器;
  • 使用Ajax和Javascript解析动态站点;
  • 多线程扫描;
  • 绕过验证码;
  • 在Windows,Mac上均可使用;
  • 服务语言是英语。


成本:



  • 免费版本限于15天;
  • 基本版售价168美元,不具有专业版的高级功能;
  • 专业版包括报告,计划程序,使用javascript进行自定义。


Helium Scraper是一个多线程解析程序,能够收集高达140 Tb的数据库。



程序界面:







特点:



  • 解析器的可视化编程;
  • 使用Ajax和Javascript解析动态站点;
  • 多线程扫描;
  • 自动轮换代理服务器;
  • 在Windows上工作;
  • 服务语言是英语。


成本:



  • 免费,功能齐全的版本,期限为10天;
  • 4个资费计划从99美元到699美元,它们的许可数量和主要更新期限有所不同。


WebHarvy Web Scraper是一个网站抓取程序,能够检测网站模板中的模式,然后自动处理这些数据。此功能大大简化了解析器的编程。



程序界面:







特点:



  • 可视化的解析编程;
  • 使用Javascript和Ajax解析动态加载的网站;
  • 多线程扫描;
  • 代理/ VPN支持;
  • 填写表格;
  • 调度程序;
  • 多线程;
  • 从链接列表中收集数据的能力;
  • 使用验证码;
  • 在Windows上工作;
  • 服务语言是英语。


成本:



  • 免费的全功能版本限制为15天,并且可以从网站上抓取2页;
  • 5个关税计划从139美元到699美元不等的许可数量。


通过使用的框架



如果数据收集的任务是非标准的,则需要构建合适的体系结构,使用多个线程,并且现有的解决方案不适合您,您需要编写自己的解析器。这需要资源,程序员,服务器和专用工具,这些资源使编写和集成解析程序变得更加容易,当然还需要支持(需要常规支持,如果数据源发生更改,则需要更改代码)。让我们看一下当前存在哪些库。在本节中,我们将不评估解决方案的优缺点,因为 该选择可能是由于当前软件的特性以及环境的其他功能所致,对于某些人来说,这对某些人来说是个优点,而对于其他人则是个缺点。



解析Python网站



使用Python解析站点的库提供了创建快速且高效的程序以及后续API集成的功能。一个重要的功能是,下面介绍的框架是开源的。



Scrapy是最常见的框架,具有庞大的社区和详细的文档,并且结构合理。







许可证:BSD



BeautifulSoup-用于解析HTML和XML文档,具有俄语文档,具有功能-快速,自动识别编码。







许可证:创用CC,Attribution-ShareAlike 2.0通用(CC BY-SA 2.0)



PySpider功能强大且快速,支持Javascript,没有内置代理支持。







许可证:Apache许可证,版本2.0



Grab-功能-异步,允许您编写具有大量网络线程的解析器,俄文中有文档,可通过API进行操作。







许可证:MIT许可证



Lxml-一个简单而快速的库,用于解析大型文档,允许您使用XML和HTML文档,将源信息转换为Python数据类型,并有据可查。与BeautifulSoup兼容,在这种情况下,后者使用Lxml作为解析器。







许可证:BSD



Selenium-浏览器自动化工具包,包括许多用于部署,浏览器管理,记录和重放用户操作的库。提供以各种语言(Java,C#,JavaScript,Ruby)编写脚本的功能。







许可证:Apache许可证,版本2.0



用JavaScript解析网站



JavaScript还提供了现成的框架,用于使用用户友好的API构建解析器。



木偶戏是无头的Chrome API,适合希望在解析时对其工作进行精细控制的NodeJS程序员。作为开源工具,Puppeteer是免费使用的。它由Google Chrome小组本身积极开发和维护。它具有经过深思熟虑的API,并会在安装过程中自动安装兼容的Chromium二进制文件,这意味着您不必自己跟踪浏览器的版本。尽管这不仅仅是一个网站解析库,但它通常用于解析需要JavaScript才能显示的数据,并将脚本,样式表和字体视为真实的浏览器。请注意,虽然对于需要JavaScript显示数据的网站来说,这是一个很好的解决方案,此工具需要大量的CPU和内存资源。







许可证:Apache许可证,版本2.0



Cheerio-快速,解析页面标记并提供用于处理接收到的数据的功能。与HTML一起使用,具有类似于jQuery API的API。







许可证:MIT许可证



Apify SDK是一个Node.js库,允许您使用JSON,JSONL,CSV,XML,XLSX或HTML,CSS。与代理一起使用。







许可证:Apache许可证,版本2.0



渗透-用Node.js编写,搜索和加载AJAX,支持CSS 3.0和XPath 1.0选择器,记录URL,填写表格。







许可证:麻省理工学院许可证



用Java解析网站



Java还提供了各种可用于解析站点的库。



Jaunt-该库提供了用于解析和自动化的轻量级无头浏览器(无GUI)。允许与REST API或Web应用程序(JSON,HTML,XHTML,XML)进行交互。填写表格,下载文件,使用表格数据,支持Regex。







许可证:Apache许可证(软件每月到期,之后必须下载最新版本)



Jsoup -HTML库,提供了便捷的API,可使用HTML5 DOM方法和CSS选择器获取URL,获取和处理数据...支持代理。不支持XPath。







许可证:麻省理工学院许可证



HtmlUnit不是用于单元测试的通用框架,它是没有GUI的浏览器。为HTML页面建模,并提供一个API,该API允许您调用页面,填写表单,单击链接。支持基于JavaScript和XPath的解析。







许可证:Apache许可证,版本2.0



Cyber​​Neko HTML解析器是一个简单的解析器,可让您解析HTML文档并使用XPath处理它们。







许可证:Apache许可证,版本2.0



浏览器扩展



从使用的角度来看,以浏览器扩展形式进行的站点解析器很方便,安装量很小-您只需要一个浏览器即可进行可视数据捕获-无需编程。



Scrape.it是Chrome浏览器扩展程序,用于通过可视化的Point-Click界面从网站收集数据。







特征:



  • 视觉点击数据捕获;
  • 使用JavaScript解析动态网站;
  • 多线程扫描;
  • 服务器代理;
  • Chrome浏览器;
  • 服务语言是英语。


每月费用:



  • 免费试用期为30天;
  • 3个资费计划$ 19.9,$ 49.9,$ 199.9在并行请求数和页面爬网速度方面有所不同。


Web Scraper.io是一个网站抓取工具,旨在作为Chrome的扩展程序,该服务具有多种选择,并且可以直观地对抓取进行编程。







特征:



  • 视觉捕获站点数据;
  • 使用Ajax和Javascript解析动态站点,并具有滚动功能;
  • 多线程扫描;
  • 自动轮换代理服务器;
  • 适用于Chrome,Firefox浏览器;
  • API;
  • 通过Dropbox传输结果;
  • 服务语言是英语。


每月费用:



  • 免费试用期为30天;
  • 3个资费计划$ 19.9,$ 49.9,$ 199.9的并行请求数和页面爬网速度不同。


数据挖掘器是Google Chrome和Microsoft Edge的扩展,可帮助您使用简单的可视界面从网站收集数据。







特征:



  • 无需编程即可从站点收集数据;
  • 适用于15,000多个热门网站的现成模板;
  • 解析URL列表;
  • 支持分页并增加负载;
  • 自动填写表格;
  • 适用于Chrome,Edge浏览器;
  • 模拟人类行为;
  • 服务语言-英语;


每月费用:



  • 免费帐户,每月可解析多达500页;
  • 4个资费计划$ 19,$ 49,$ 99,$ 199.9,您可以解析的页面数有所不同,从500到9000;
  • 用于按需任务的企业可定制合同计划。


Scraper.Ai是具有多种功能和合理价格的扩展,可与Chrome,Firefox和Edge配合使用。







特征:



  • 无需编程即可从站点收集数据;
  • 适用于Facebook,Instagram和Twitter的现成模板;
  • 支持分页并增加负载;
  • 自动填写表格;
  • 适用于Chrome,Firefox,Edge浏览器;
  • 调度程序;
  • 跟踪网站上的更改;
  • 限制保留配额的页面数;
  • 服务语言是英语。


每月费用:



  • 3个月免费计划,最多可解析50页;
  • 3个资费计划$ 9,$ 49,$ 99您可以解析的页面数不同。


根据要解决的任务



竞争对手监控



价格监控服务使您可以跟踪与您出售的商品相同的竞争对手的价格动态。然后比较价格,您可以根据市场情况增加或减少成本。这样,您可以随时提供市场上最优惠的价格,从而使商店中的购买比竞争对手更具吸引力,并且如果竞争对手出于某种原因提高了价格,也不会失去利润。



此类服务通常适用于任何市场,为了从其站点上获取在线商店销售的价格,您需要自己设置数据收集或单独订购解析设置。



将此类服务货币化是一种订阅模式,其收费标准会对收取的价格/竞争对手数量进行排名。



联合采购组织



此类服务旨在组织认真的社交网络购买。这样的解析器收集有关商品的数据,并将其上传到VKontakte和Odnoklassniki组,这使得自动化填充展示柜的过程以及监视供应商网站上的分类,余额和价格成为可能。通常,这些解析器拥有一个个人帐户,该帐户具有管理能力,自定义的集成来收集数据,通知系统,导出数据的能力,并且不需要修改。



获利是一项带有计费的订阅,具体取决于网站的数量。



网上商店自动化



此类服务使您可以自动从批发商处装载货物(图片,描述,特征),同步价格和余额。这使您能够以全自动模式进行商品添加和价格管理,从而节省人员。源可以是xml或csv文件,也可以是机器人从中获取信息的站点。



SEO数据解析和分析



用于搜索引擎优化的解析器有助于收集元数据(H1,标题,描述),关键字,组成语义核心,收集有关竞争对手的行为和定量分析数据。工具的功能范围非常广泛,让我们看一下流行的服务,以便您选择合适的工具。



SiteAnalyzer是一个Web抓取程序,用于检查网站的基本技术和SEO数据。该程序的主要特点是完全免费。在本地计算机上工作,仅适用于Windows OS。







特征:



  • 不要求计算机资源;
  • 检查页面,图像,脚本和文档;
  • 检查响应代码(200、404 ...);
  • 检查标题标题,说明,onical;
  • 搜索重复的页面;
  • 分析内部和外部联系;
  • 在Windows上工作;
  • 数据导出为CSV,Excel,PDF;
  • 包括俄语在内的17种语言的本地化版本;


成本:



  • 免费。


Screaming Frog SEO Spider是功能强大且流行的SEO网站审核程序。解析器已经确立了自己在同类产品中最好的解析器的地位,并提供了广泛的SEO分析功能。







特征:



  • 要求计算机资源;
  • 支持Google Analytics API和Google Search Console(Google网站管理员);
  • 用户代理支持;
  • 支持URL重定向(本地htaccess);
  • 调度程序;
  • 可定制的扫描配置;
  • 检查页面,图像,脚本和文档;
  • 检查响应代码(200、404 ...);
  • 检查标题标题,说明,onical;
  • 搜索重复的页面;
  • 分析内部和外部联系;
  • 可在Windows,MacOS,Ubuntu上运行;
  • 数据导出;
  • 英文界面。


成本:



  • 免费版本仅限于扫描500个地址并减少了功能。
  • 付费全功能版本149.99英镑(约合200美元或14,600卢布)。


ComparseR是该程序的专业,用于在搜索引擎Yandex和Google中进行网站索引分析。您可以找出正在搜索的页面,哪些不在搜索页面,然后对其进行分析。







特征:



  • 在索引中搜索页面;
  • 自定义时支持正则表达式;
  • 自动验证码输入;
  • 检查响应代码(200、404 ...);
  • 检查标题标题,说明,onical;
  • 搜索重复的页面;
  • 分析内部和外部联系;
  • 在Windows上工作;
  • 数据导出;
  • 俄语界面。


成本:



  • 免费版本解析前150页或前150个搜索结果;
  • 2000 . .




这样的解析器直接将数据收集到excel和google工作表中。此类解析器的操作基于自动执行操作的宏或从站点提取数据的特殊公式。当收集的数据不受保护并且位于简单的非动态站点上时,此类解析器适用于简单的任务。



ParserOk-将基于vba(宏)的站点解析为Microsoft Excel表。该加载项使您可以根据预先创建的模板从站点导入数据,并且相对易于配置。缺点是,如果模板与您的请求不匹配,则需要做一些工作。



许可价格为2700卢布,演示版设计为10天。



Google表格功能-importhtmlimportxml-允许您将数据直接导入表中的函数。使用这些功能,您可以在预编程的输入上组织简单的数据收集。对“ Xpath”查询语言的了解将大大扩展公式的范围。



可定制的解析解决方案



此类服务以交钥匙方式工作,单独处理任务,为特定请求编写解析。此类解决方案最适合私人业务任务,例如,当您需要分析竞争对手,收集某些类型的数据并定期进行处理时。这种解决方案的优势在于,针对该任务设计的解决方案甚至可以从受保护的站点收集数据,或者需要解释的数据,例如,当价格不是以文字形式而是以图片形式显示时。在这种情况下,自配置程序和服务将无法完成此任务。另外,此类服务不需要个人员工花时间收集数据或重新解析,以防站点上的源发生变化。



如果您有多个不同的站点,并且需要定期接收数据,则使用单独配置的解析的成本会更有利可图,因此检查计算现成解决方案的成本+编写解析的程序员及其支持的成本+服务器维护的成本并不难。



在云解析器部分的文章开头有此类服务的示例,其中许多提供了自定义解决方案。让我们添加一个俄语服务。



iDatica-一项服务,专门用于按要求组织解析,数据清理,匹配和数据可视化。 iDatica具有说俄语的支持,经验丰富的专业人员,并且已将自己确立为开发数据收集和可视化解决方案的可靠合作伙伴。根据要求,团队可以分配分析以处理您的项目。







iDatica -服务专业要求组织解析,数据清理,匹配和数据可视化。



该服务的特点:



  • 个人处理任务的方式;
  • 仅需交钥匙即可完成任务,只需描述任务即可;
  • 处理任何复杂的站点;
  • 连接BI服务以进行可视化的能力;
  • 连接分析的能力;
  • 服务语言是俄语。


每月费用:



  • 从2000卢布起,根据解析的复杂度和频率进行计算。


如何选择正确的解析器



  1. 首先,定义您的任务:价格监控,产品分析,机器学习,SEO数据,流程自动化;
  2. 确定数据收集的来源:竞争对手的站点,用于培训的数据源,您的站点等;
  3. , , ;
  4. .


如果您有少量数据的标准任务,并且有单独的人来完成任务,那么以程序或浏览器扩展的形式提供的现成解决方案适合您。



对于具有一定规律性的复杂站点解析,请注意云解决方案。您将需要一个单独的人来处理此项目。



如果任务与增加利润甚至与项目的可行性有关,则应注意具有能够对程序或库进行解析的能力的云服务,并为此任务和服务器容量分配单独的程序员。



如果您需要快速获得解决方案并且需要确保结果的质量,则应该选择一家实施总包项目的公司。



All Articles