在日益数字化的时代,是什么赋予贵公司持续的竞争优势?在这个时代,各种新技术层出不穷,阻止新进入者进入的壁垒正在瓦解,交易和通信成本正在下降,计算能力几乎人人可用,而且越来越强大的算法被锻造出来。答案很简单:数据是决定你能否赶上竞争对手的主要因素。你拥有的竞争对手无法获得的数据越多,你的竞争优势就越强。

你想知道为什么吗?也许确实会出现更强大的算法,每个人都能获得可用的计算能力,但重要的是,谁拥有我们将用来做决策和改进公司的数据?如果每个人都可以使用算法和计算能力,那么竞争对手唯一无法访问的将是你的数据。保持领先的一个方法是了解如何通过网络抓取获取额外的数据。本文将向您展示如何使用网络抓取和爬行来为您的公司收集更多数据。

网络抓取是指以一种高效、快速的方式从万维网中自动提取数据的过程。这是市场研究和商业策略的核心,例如,当你想定期比较网上商店的价格和竞争对手的价格时。

在这篇文章中,我们将通过网络抓取的优点,网络抓取的应用,最后为您的公司所有可能的网络抓取形式。根据你公司的策略、网页抓取的目标和网站的复杂程度,不同形式的网页抓取可能更可取。与此同时,如果你只是一名个人数据科学家,正在寻找一份网络抓取世界的入门书,这篇文章也会让你对如何开始有一个很好的了解。

业务领域和影响:创建持续的传入数据流

几乎没有一个领域,网页抓取不会产生深远的影响。在数据日益成为主要竞争资源的情况下,获取数据也变得尤为重要。

  • 市场营销:网络抓取可以帮助您收集额外的线索,分析人们的兴趣,并通过定期从不同平台提取客户评级来监控消费者情绪
  • 竞争对手分析与定价:如果您的企业正在制定定价策略,网络抓取可以帮助您提取竞争对手的定价。此外,您可以通过新闻跟踪竞争对手的所有动向,定期了解竞争对手的发展情况以及折扣和定价情况。
  • 战略发展:为了制定战略,你通常需要确凿的事实。对于这种情况,抓取对于执行一次性的初始分析提取和以后的策略监控是很有用的。此外,您可能希望定期捕捉行业的最新趋势,因此您可以开发一个网络爬虫来检查与您公司相关的领域的新闻。
  • 产品开发:如果你需要亚马逊等平台上的用户评分或产品描述,那么网络抓取也是一个有效的选择。
  • 公关与品牌管理:网络抓取可以帮助您提取有关您的公司在万维网上被提及的频率以及相关情绪的信息。这样,你的企业就可以及早发现任何负面的发展,防止品牌受到损害。
  • 风险管理与合规:网络爬虫还可以用于执行自动背景调查,以确保公司的一切运行顺利。此外,它还可以帮助你抓取法律数据库。另一个有趣的发展是,网络爬虫越来越多地被用于检测欺诈性评论,即欺诈者为你的产品撰写虚假评论。
  • 商业智能:您可以使用网络抓取来丰富机器学习数据并改进机器学习模型。此外,您可以使用仅在互联网上可用的其他数据来丰富不同的报告。

方法:从简单的静态抓取到自动浏览

刮痧的复杂性

为了向您展示每种方法的优点和缺点,我们将看看下面提到的以下类别。对于每个类别,我们将分配一个从1(表现不佳)到5(表现非常好)的分数。

  1. 力量:这个类别告诉您这种方法在处理具有复杂结构的主页时效果如何。低灵活性(1)表明我只能抓取简单的静态主页,而高灵活性(5)表明这种方法也可以抓取复杂的网页,但有几个例外,需要与主页进行交互。
  2. 编码:此类别表明该方法的编码密集程度。如果应用程序涉及大量编码和复杂算法,则该应用程序在这一类别中的得分较低(1)。如果不需要任何编码即可实现方法,则该应用程序将获得高分(5)。
  3. 价格:此类别表明与其他方法相比,此方法的成本有多高。成本高的方法得分低(1),而成本低的方法得分高(5)。
  4. 维护:此类别将对每种方法的相关维护工作进行评级。高维护工作将导致低得分(1),少维护工作将导致高得分(5)。

网络抓取方法说明

静态Webscraping

静态网页抓取只提取html代码,没有任何交互
静态网页抓取只提取html代码,没有任何交互

几乎您将使用的每种编程语言都有一个库,可以让您抓取动态页面,或者至少可以让您通过internet发送get请求。对于Python,它会是Scrapy,对于R,它会是Rvest。这是最简单的编码方法,可以让您在短时间内提取大量数据。然而,它也是最不强大的基于编码的方法。您将只能抓取静态主页。一旦主页的结构变得更加复杂,或者需要与主页进行交互,这种方法就会失败。

静态网页抓取的得分
静态网页抓取的得分

自动浏览(Selenium)

硒
使用selenium可以自动执行在简单浏览器上执行的所有操作

自动浏览也是基于一种编程语言。程序员基本上用支持Selenium的编程语言(Python, R, Java等)编写指令,在浏览器中应该做什么。在后台,您可以自动执行通常在浏览器上手动执行的所有步骤(例如,键入URL,然后按enter键,单击导航中的第一个链接,从某个区域复制值并将其粘贴到本地excel表中)。然后,编写的脚本将通过打开浏览器并模拟每个步骤来执行您的所有指令,就好像步骤背后有一个人一样。与简单的静态网页抓取相比,这是一种相当复杂的方法,但同时也是一种更强大的方法,因为您可以抓取基于AJAX的主页,与主页交互以检索其他方式无法访问的某些信息。同时 时间您可以通过几种安全措施,因为从另一方面来看,它看起来像一个普通人正在访问主页。

自动浏览得分
自动浏览得分

应用程序编程接口

ebay api
例如,Ebay有一个广泛的API库,可以让您直接访问数据

许多主页和基于互联网的公司提供了自己的api,以便让您访问他们的数据。这使得抓取过程更加容易和快速,因为只需编写少量代码即可抓取数据,并将以可使用的格式提供。然而,官方api的缺点是通常没有免费和收费 一个您想要抓取的数据量。此外,api不够灵活,因为您只能抓取主页所有者允许您抓取的数据。

api得分
api得分

拦截AJAX调用

隐藏的API
当您访问主页时,可以通过观察流量来发现隐藏的API

即使您想要抓取的主页没有提供官方API,也有可能存在“隐藏API”,特别是如果主页使用ajax调用。熟练的程序员可以很容易地访问ajax接口,用很少的代码发送请求,并以易于解释的格式(如JSON)提取所有必要的信息。虽然这种方法可以让您访问大量数据,但它通常不太灵活,并且需要对如何开发主页有深入的了解。如果你想了解更多关于隐藏的api以及如何实现它们,那么我建议你参考以下两个主页:

拦截AJAX调用的得分
拦截AJAX调用的得分

网页抓取工具

Octoparse
Octoparse是一个流行的低代码抓取工具,有一个免费的层

有各种各样的不同的网页抓取工具,将满足您的需要,并帮助您实现您的网页抓取与很少的编码。有不同的工具,从非常强大的定期更改ip地址,甚至可以克服验证码的工具,到简单的只能抓取静态主页的工具。有一些工具可以帮助您定期地、连续地抓取数据,也有一些工具可以帮助您执行一次性抓取。许多工具还提供额外的客户支持。这种方法的唯一优点是,根据工具的功能,它的成本非常高。像octopass这样的工具可以让你在一定限度内免费抓取数据。以下是对Octoparse能力的描述:

“对于那些想要从网站中提取数据而无需编写代码的人来说,Octoparse是一个非常棒的工具。它包括一个点和 点击界面,允许用户在登录表单后面刮,填写表单,输入搜索条件,滚动浏览 无限滚动、渲染javascript等等。它还包括一个托管解决方案,供希望在云中运行抓取工具的用户使用。最重要的是,它提供了一个慷慨的免费层,允许用户免费构建多达10个爬虫。”

如果您想深入了解这种方法,这里有一个首页,比较10个网页抓取工具

网页抓取工具得分
网页抓取工具得分

网页抓取服务

DataHen
DataHen是一个快速的提供者,非常适合入门,或者如果你需要快速完成它

如果你打算将搜集工作完全外包出去,那么就应该采用这种方法。从你的角度来看,所需要做的就是雇佣一个网络抓取服务,并解释你需要什么信息,其余的将由服务来处理。这种方法对于一次性抓取特别有用。然而,这种方法也可能非常昂贵。一个流行的网络抓取服务是DataHen,它经常被推荐。获取更多的信息 定价关于服务,我建议您咨询以下内容Quora上的帖子,解释了不同服务的定价

服务
使用服务可以减少繁重的工作,使您可以专注于分析部分

方法的比较

所有网页抓取方法的比较
所有网页抓取方法的比较

在选择正确的方法时,你应该考虑是将网页抓取过程外包还是内部开发。对于你的网页抓取项目,尽量保持简单。这意味着你应该只使用强大的工具,如果他们真的是必要的。如果您满足于不需要的复杂方法,那么您将在不需要的维护和特性上超支。

优点:快速、高效、可靠

网页抓取提供了以下几个优点:

  1. 速度:手工提取需要花费数天或数周的时间,抓取可以大大减少工作量并提高决策速度。
  2. 可靠且坚固:手动抓取数据很容易导致错误,例如打字错误,忘记信息或信息放在错误的栏中。自动抓取过程确保了数据的一致性和质量。此外,您可以直接指示刮刀对数据进行排序、组织并以您想要的格式放置数据,而无需任何额外的手动操作。
  3. 低成本:一旦实现,提取数据的总成本就会大大降低,特别是如果将其与抓取数据所需的手工工作进行比较。
  4. 组织:可以安排刮刀定期或在发生某些事件时(例如,当有新数据可用时)随时刮刀数据。这样,您就可以依赖于您将始终拥有最新数据的事实。
  5. 低维护:Web抓取器通常不需要太多的维护时间段。

缺点:复杂性决定了抓取的成本

虽然网络抓取可以为公司带来巨大的好处,但也有一些缺点和假设:

  1. 较不复杂的页面:你想要刮的网页越复杂,刮的难度就越大。原因有二。首先,设置刮刀变得更加困难,其次,维护成本可能会增加,因为你的刮刀更容易出现错误。
  2. 稳定的主页:自动网页抓取只有在目标主页不经常改变结构的情况下才有意义。每一次结构的改变都意味着额外的成本,因为网页刮板也需要调整。
  3. 结构化数据:如果你想从1000个不同的主页上抓取数据,并且每个主页都有完全不同的结构,那么网络抓取将不起作用。将需要一些基本结构,仅在某些情况下有所不同。
  4. 低保护:如果主页上的数据受到保护,那么网络抓取也会成为一个挑战,并提高成本。一种简单的保护形式是captcha(验证码),当主页要求你登录或者数据只能通过API访问时。

12个评论

    • 嗨,爱米利娅,

      非常感谢您的评论。你提出了一个非常重要的问题!目前,网络抓取是一个灰色地带,一个经验法则是,你可以抓取数据,只要它是不受保护的(例如,有登录)。当然,还有其他问题需要考虑,比如个人数据。我不是给你建议的律师,我建议任何人咨询在这方面有专长的专业人士。

    • 你好,
      很高兴听到你喜欢这些文章。你可以打赌我将包括更多有用的文章

    • 你好,
      我很高兴你觉得它有用。这正是我这么做的原因,这样我就可以帮助人们更好地理解和应用分析。

      欢呼,
      Andrej

  • 神奇的文章!为了从网站中抓取内容,许多行业都依赖于可靠信息的提取。例子包括保险行业、医疗保健行业、媒体、房地产、旅游行业、金融、研究、潜在客户开发行业。

    • 嗨,史蒂夫,很高兴听到你喜欢这篇文章。谢谢你分享你的个人经历

      欢呼,
      Andrej

  • 看了你的文章后,我很惊讶。我知道你解释得很好。我希望其他读者也能体会到我读了你的文章后的感受。点击这里

留言回复

您的电子邮件地址将不会被公布。必填项被标记*