目录
使用纯Java抓取谷歌地图数据
要抓取谷歌地图的数据,必须对代码、浏览器模拟、代理服务器以及reCAPTCHA破解工具有扎实的了解。谷歌的内容是动态生成的,因此你必须能够适应其可能进行的任何变化。.
首先,你需要通过浏览器模拟来模拟真实用户的操作。利用 硒 或者使用其他浏览器模拟器可能是一种切实可行的方法。其次,你必须使用 代理人 如果您希望保护您的办公室/家庭 IP 地址,此功能可让您通过其他用户的 IP 地址访问网站。.
尽管有那一整套工具,但当你处于合理使用范围内时,谷歌仍可能会向你显示 reCAPTCHA 并将其与你的某些 IP 地址关联起来。因此,你可以添加一个 reCAPTCHA解算器 如果您不想在每次遇到 reCAPTCHA 时都更改您的 IP 地址。.
此外,你应时刻做好准备,以应对谷歌可能对其网站内容进行调整的情况。你可以通过每天进行测试来做到这一点。.
尽管实现该爬虫可能需要一段时间,但仍然可以构建和维护它。如需了解更多信息,请参阅这篇详尽指南,其中介绍了如何利用 Python 和 Selenium 抓取 Google 地图: 如何使用 Python 和 Selenium 抓取谷歌地图数据。.
使用 Outscraper Java 包抓取谷歌地图数据
使用 Outscraper Java 库 这将使抓取谷歌地图变得更加轻松、可靠。. 它提供了便捷的访问途径,可通往 Outscraper API 来自编写的应用程序 在 Java 语言中,这允许你使用 Outscraper的服务 从你的代码中。
你可以先安装 该包裹 并在以下网站创建一个账户 Outscraper.

安装
使用 Maven 或 Gradle 安装 Outscraper SDK。.
Gradle
编辑您的 build.gradle 文件:
repositories {
maven { url "https://jitpack.io" }
}
dependencies {
implementation 'com.github.outscraper:outscraper-java:v1.0.4'
}
Maven
添加 JitPack 将代码库添加到您的构建文件中:
jitpack.io
https://jitpack.io
添加依赖项:
com.github.outscraper
outscraper-java
v1.0.4
初始化
通过导入类和添加你的秘密API密钥来初始化Outscraper客户端。你可以在以下网站上生成API密钥 个人资料页面.
OutscraperClient client = new OutscraperClient("SECRET_API_KEY");
使用实例
以下是如何通过使用搜索查询从谷歌地图上搜刮地方的例子。
// Search for businesses in specific locations:
JSONArray results = client.googleMapsSearchV2(new HashMap() {{
put("query", "restaurants brooklyn usa");
put("limit", 20);
put("language", "en");
put("region", "us");
}});
System.out.println(results);
也可以通过使用地点标识来提取数据。
// Get data of the specific place by id
JSONArray results = client.googleMapsSearchV2(new HashMap() {{
put("query", "ChIJrc9T9fpYwokRdvjYRHT8nI4");
put("language", "en");
}});
System.out.println(results);
常见问题
最常见的问题和答案
你可以通过使用Outscraper SDK刮取谷歌地图结果。指定搜索查询、语言和其他参数,并发送您的请求。
<repositories>
<repository>
jitpack.io
https://jitpack.io
</repository>
</repositories>
com.github.outscraper outscraper-java v1.0.4
OutscraperClient client = new OutscraperClient("SECRET_API_KEY");// 搜索特定位置的商家:
JSONArray results = client.googleMapsSearchV2(new HashMap() {{
put("query", "restaurants brooklyn usa");
put("limit", 20);
put("language", "en");
put("region", "us");
}});
System.out.println(results);刮取谷歌地图需要良好的编码知识、浏览器模拟、代理和 reCAPTCHA解算器。 此外,你也应该准备好应对谷歌可能对其动态内容做出的改变。
谷歌地图不允许搜刮。虽然,搜刮和提取公共数据是受美国宪法第一修正案保护的。
0 Comments