目录

纯粹的PHP中的谷歌地图抓取

良好的编码知识、浏览器模拟、代理和reCAPTCHA解算器是搜刮谷歌地图的必要条件。此外,如果你准备好处理谷歌可能对其动态内容进行的任何修改,这将会有所帮助。

最初,你需要通过浏览器仿真来模拟真实用户的行为。因此,使用  或其他浏览器仿真器可能是一个有效的选择。

你必须使用 代理人 如果你想保护你的办公室/家庭IP地址,因此,你可以从其他用户的IP上请求网站。

即使有这一系列的工具,如果你有足够的使用率,谷歌可能会向你提出reCAPTCHA,并将其与你的一些IP绑定。你可以添加一个  reCAPTCHA解算器 如果你不想在遇到reCAPTCHA时改变IP。

除此之外,要为谷歌可能改变其内容做好准备。这可以通过进行日常测试来实现。

即使实现搜刮器可能需要一些时间,但它可以被建立和维护。要学习如何使用Python和Selenium刮取谷歌地图,请访问这个分步骤的教程。 How to Scrape Google Maps with Python and Selenium.

用Outscraper PHP包刮取谷歌地图

一个更强大的搜刮谷歌地图的方法是使用 Outscraper PHP库.它提供了方便的通道。 Outscraper API 从用PHP语言编写的应用程序,它允许你使用 Outscraper的服务 从你的代码中。

你可以先安装 该包裹 并在以下网站创建一个账户 Outscraper.

安装

作曲家

通过以下方式安装Outscraper SDK 作曲家.运行以下命令。

				
					composer require outscraper/outscraper
				
			

要使用这些绑定,请使用Composer的 自动加载:

				
					require_once('vendor/autoload.php');
				
			

手动安装

如果你不希望使用Composer,你可以下载 最新发布.然后,为了使用这些绑定,包括 init.php file:

				
					require_once('/path/to/outscraper-php/init.php');
				
			

初始化

通过导入类和添加你的秘密API密钥来初始化Outscraper客户端。你可以在以下网站上生成API密钥 个人资料页面.

				
					$client = new OutscraperClient("SECRET_API_KEY");
				
			

使用实例

以下是如何通过使用搜索查询从谷歌地图上搜刮地方的例子。

				
					# Search for businesses in specific locations:
$results = $client->google_maps_search_v2(['restaurants brooklyn usa'], limit: 20, language: 'en', region: 'us');

# Scrap Places by Two Queries
$results = $client->google_maps_search_v2(
    ['restaurants brooklyn usa', 'bars brooklyn usa'],
    limit: 50, # limit of palces per each query
    language: 'en',
    region: 'US',
);

# Iterate over the results
foreach ($results as &$query_places) {
    foreach ($query_places as &$place) {
        print($place['query']);
        print($place['name']);
        print($place['phone']);
        print($place['site']);
    }
};
				
			

也可以通过使用地点标识来提取数据。

				
					# Get data of the specific place by id
$results = $client.google_maps_search_v2(['ChIJrc9T9fpYwokRdvjYRHT8nI4'], language: 'en');

# Scrap Places by Place Ids
$results = $client->google_maps_search_v2(
    ["ChIJ8ccnM7dbwokRy-pTMsdgvS4", "ChIJN5X_gWdZwokRck9rk2guJ1M", "ChIJxWLy8DlawokR1jvfXUPSTUE"],
    limit: 1, # limit of palces per each query
);

# Iterate over the results
foreach ($results as &$query_places) {
    foreach ($query_places as &$place) {
        print($place['query']);
        print($place['place_id']);
    }
};
				
			

现在就试试Outscraper SDK

Outscraper的SDK可以让你轻松地用PHP做Google Maps Scraping。你现在就可以用免费级别来尝试。

常见问题

最常见的问题和答案

你可以通过使用Outscraper SDK刮取谷歌地图结果。指定搜索查询、语言和其他参数,并发送您的请求。

作曲家要求outscraper/outscraper
require_once('vendor/autoload.php')。
$client = new OutscraperClient("SECRET_API_KEY")。
# 搜索特定地点的企业。
$results = $client->google_maps_search_v2([' restaurants brooklyn usa'], limit: 20, language: 'en', region: 'us')。
#的废旧场所的两个查询
$results = $client->google_maps_search_v2(
['餐馆brooklyn usa', '酒吧brooklyn usa']。
限制:50,每个查询有#宫位限制。
语言:'en'。
地区:'美国'。
);
# 遍历结果
foreach ($results as &$query_places) {
foreach ($query_places as &$place) {
print($place['query'])。
print($place['name'])。
print($place['phone']);
print($place['site'])。
}
};

刮取谷歌地图需要良好的编码知识、浏览器模拟、代理和 reCAPTCHA解算器。 此外,你也应该准备好应对谷歌可能对其动态内容做出的改变。

谷歌地图不允许搜刮。虽然,搜刮和提取公共数据是受美国宪法第一修正案保护的。

类别: API

尤努斯

市场营销人员、内容写作人员、客户体验开发人员----。 Facebook | 领英 | 推特

0 评论

发表回复

头像占位符