如何从Yelp页面提取数据

您是否希望在Yelp.com网站上抓取业务评论或其他公开可用的数据?然后立即进入市场,发现可以用于此目的的最佳Yelp抓取工具。

Yelp是业务评论和建议的所在地,企业客户可以在这里对其使用过的业务进行评论。对Yelp的评论是可信的,并且企业主不能从他们的业务中删除不好的评论。截至2014年,Yelp上列出了超过6600万家企业-这个数字已经大大增加,并且无可否认,Yelp拥有大量的企业,营销人员和业务研究人员感兴趣的数据集。Yelp页面上感兴趣的一些数据包括商家名称,位置(纬度,经度,地址,州,城市,邮政编码),价格范围,电话和电子邮件,以及星级和文字评论。

尽管企业和研究人员会对Yelp上的评论和其他数据感兴趣,但是Yelp作为一家公司,并不提供企业从其平台访问数据的方法。如果您有兴趣从Yelp网站提取数据,则需要设计一种方法。

幸运的是,Yelp并不是防抓取的。就像互联网上的其他网站一样,Yelp可以使用被称为“web scraper”的自动化工具进行抓取。可以用来抓取Yelp页面的web scraper被称为Yelp scraper。使用Yelp scraper,您可以提取Yelp网站上的任何公开可用数据。这篇文章将向你推荐市面上最好的Yelp大厦。但在此之前,让我们来了解一下抓取Yelp的概况。


Yelp抓取-概述

如果您打算使用自动方式(例如使用抓取工具)从Yelp页面提取数据,则需要知道Yelp不允许在其网站上进行任何形式的抓取,尤其是使用任何第三方软件-这违反了其条款服务。

幸运的是,抓取公开可用的数据(尤其是没有任何登录信息的数据)是完全合法的,因此,即使违反了他们的服务条款,您仍然可以继续从Yelp网站抓取所需的数据。但是,在此之前,您需要考虑当地法律并与律师联系,因为您使用这些数据可能会使其成为非法–并使他们在法庭上对您提起诉讼。

  • 什么是网页抓取,合法吗?

即使没有使用他们的法律团队,Yelp也会采用其技术来防止在其页面上抓取数据。它们利用了防刮技术,其中最流行的是IP块和Captchas。当Yelp通过其漫游器检测系统怀疑流量来自漫游器时,会出现Captchas。如果系统如此确定,则流量来源IP会被阻塞一段时间。

Yelp还有其他防止刮擦的手段。但是,即使有这些设置,Yelp上的抓取也是非常普遍的,因为企业需要通过分析用户的评论来了解用户对他们的看法。其他一些企业需要产生潜在客户,Yelp的企业是他们的重点。


如何使用Python、Requests和BeautifulSoup来抓取Yelp

如果您可以使用任何编程语言编写代码,那么您可以通过为自己的用例开发Yelp scraper来降低成本。对于本文,我们将使用Python编程语言,因为它是web抓取项目中最流行的语言,并且附带了一些非常酷且易于使用的web抓取库,这些库将使编写代码的整个过程变得容易。我们将使用请求来发送HTTP请求,使用BeautifulSoup来解析响应并提取所需的数据。安装了这两个库之后,就可以开始了。

之前我曾说过,Yelp不允许抓取,并且已经实施了一些防抓取技术,其中IP阻止和Captchas最为流行。对于Captcha,您需要像流行的2Captcha这样的Captcha解算器。为了防止Yelp Scraper进行IP跟踪和阻止,您需要使用代理–代理,它们是隐藏您的IP地址并为您的请求提供不同IP地址的中介服务器。

您将要抓取的内容将决定如何对刮刀进行编码。但是通常,它需要检查页面的HTML并寻找其中包含所需数据的标签。通过此操作,您将知道如何使用BeautifulSoup提取所需数据。

例如,下面显示的代码示例充当Yelp抓取工具,其接收指向Yelp商业页面的链接,并以JSON返回一些商业信息,包括其名称,地址和星级。

import requests
from bs4 import BeautifulSoupclass YelpScraper:def __init__(self, business_page_url):
self.url = business_page_urldef scrape_yelp_page(self):
content = requests.get(self.url)
soup = BeautifulSoup(content.text, "html.parser")
name = soup.find('h1', {"class": "lemon--h1__373c0__2ZHSL heading--
h1__373c0__dvYgw undefined heading--inline__373c0__10ozy"}).text
address = soup.find("address")
street_address = address.find("span", {"itemprop": "streetAddress"}).text
address_locality = address.find("span", {"itemprop": "addressLocality"}).text
address_region = address.find("span", {"itemprop": "addressRegion"}).text
postal_code = address.find("span", {"itemprop": "postalCode"}).text
address = {"street_address": street_address,
"address_locality": address_locality,
"address_region": address_region,
"postal_code": postal_code}
star_rating = soup.find("div", {"class": "i-stars--large-
4__373c0__1d6HV"})["aria-label"]
product_details = {"name": name,
"star_rating": star_rating,
"address": address}
return product_detailsurl = "https://www.yelp.com/biz/mina-family-kitchen-san-francisco-2"
x = YelpScraper(url)
x.scrape_yelp_page()

阅读更多:

  • 如何从亚马逊抓取产品Asin
  • 如何使用Python提取eBay数据

最好的Yelp的抓取器

如果你是一个非编码者,或者不想处理captcha求解器、代理管理和其他问题,那么你最好使用现成的Yelp scraper。有很多web scraper可以用来抓取Yelp页面。然而,我们将推荐一些已经被证明非常有效的方法——它们的学习曲线同样简单。下面是目前市场上最好的Yelp软件。


ParseHub

  • 定价:每月149美元起
  • 免费试用:桌面版免费,但有一些限制
  • 数据输出格式: Excel,JSON
  • 支持的平台:云,桌面

ParseHub被视为市场上最好的刮板机之一。有趣的是,它支持在Yelp上抓取公开可用的数据。这款Yelp刮板功能强大而灵活。关于ParseHub,您会喜欢的一件事是它易于使用且不需要任何编码技能。

它是一种可视化的抓取工具,唯一需要做的就是使用其可视化的抓取事实对要训练的所需数据进行培训。ParseHub桌面应用程序免费提供,但有一些限制。要使用他们的基于云的平台,您应该准备做出货币承诺。

  • 十大最佳Web Scraping Cloud提供商

ScrapeStorm

  • 定价:每月49.99美元起
  • 免费试用:入门计划是免费的-有限制
  • 数据输出格式: TXT,CSV,Excel,JSON,MySQL,Google表格等。
  • 支持的平台: 台式机

ScrapeStorm是市场上功能最齐全的Web抓取工具之一,可用于抓取Yelp。ScrapeStorm支持大多数流行的操作系统,并且还具有可以使用的基于云的平台。

与许多其他Web抓取工具要求您通过指定所需的数据点对其进行培训不同,ScrapeStorm不需要,例如它利用其基于AI的系统进行数据识别。对于某些选定的网站,例如Yelp,甚至可以使用模板,这些模板甚至可以使整个过程变得更容易。ScrapeStorm支持多种数据导出方法。它是由前Google抓取工具小组构建的。


Yelp数据收集器

  • 定价:年度订阅为$ 59.95
  • 免费试用:入门计划是免费的-有限制
  • 数据输出格式: CSV
  • 支持的平台:台式机

从此Web抓取工具的名称可以看出,它是专门用于从Yelp页面抓取数据的Web抓取工具。但是,您可以使用Yelp数据抓取工具从Yelp页面抓取什么?

使用此工具,您可以从业务页面抓取与业务相关的数据,包括其名称,地址,联系方式,星级和客户评论。提取的数据可以CSV格式或其他格式下载。Yelp Data Scraper之所以与众不同,是因为它功能多样,功能强大且轻巧。它在Yelp网站上支持所有受支持国家的抓取。


WebHarvy

  • 定价:单用户许可证起价为139美元
  • 免费试用:不可用
  • 数据输出格式: TXT,CSV,Excel,JSON,XML。TSV等
  • 支持的平台:台式机

WebHarvy是一种直观的可视化Web抓取工具,可用于从Yelp网页抓取业务评论和其他业务数据。WebHarvy是专为现代Web构建的,并利用了它可以使用的所有防刮擦系统来确保其逃避检测和禁止-并且在Yelp网站上运行良好。

WebHarvy非常易于使用,您可以在几分钟内开始抓取。凭借其指向和点击界面,培训WebHarvy非常容易。它还利用智能模式检测系统使用户的整个培训过程变得更加轻松。


Apify Yelp Scraper

  • 定价:每月起价为49美元,适用于100个Actor计算单元
  • 免费试用:入门计划附带10个Actor计算单元
  • 数据输出格式: JSON
  • 支持的操作系统:基于云–通过API访问

Apify有许多称为参与者的Web自动化工具,可用于在社交媒体和电子商务网站上执行许多自动化任务。Apify Yelp刮板机就是其中之一,事实证明它是最好的Yelp刮板机之一。有了它,您可以从Yelp抓取业务评论,星级和其他业务详细信息。与上面讨论的其他Yelp抓取工具不同,Apify以开发人员为中心,您使用它就像发送一个宁静的API一样简单-JSON对象将作为响应返回。就像清单中的大多数工具一样,它是免费试用的。

  • Web Scraping API,用于Yelp Scrape提取数据

结论

以汇总业务数据为目的的Web抓取已成为业务研究的组成部分,并且Yelp也没有作为目标。虽然Yelp作为平台不支持抓取,但是有许多可用于抓取的工具,上面讨论了这些工具的优点。如果您愿意,也可以发展自己的。例如,您可以获得特定的城市和地区,

例如

1.评论者电子邮件

2.社交媒体或Instagram个人资料链接

3.电话号码

4. Yelp个人资料链等