爬虫/机器人是否消耗 Maps APIs Credits?

Tob*_*ias 3 google-maps google-maps-api-3

由于 Google Maps API 更改为“Credits”,我的问题是:爬虫/机器人(来自搜索引擎或监管机构,例如“uptrends”)是否消耗 Maps APIs Credits?

如果是这样,是否有可能像在 Google-Analytics 中那样“排除”它们?

我想避免“无所事事”的大量成本。

预先感谢托比

小智 5

我的经验是,对 Maps API 的请求确实会创建一个收费的事务,即使机器人或爬虫访问该页面也是如此。当免费配额方法退役后,Google 改为 200 美元信用系统时,我也必须仔细研究这一点。我的网站每天发出大约 3,000 个地图请求。然而,Google Analytics 显示我每天需要地图请求的页面浏览量只有 700!为了避免这种情况让我付出高昂的代价,我能够转而使用没有限制且免费的嵌入地图。

对我的服务器访问日志的分析表明,确实,大部分页面浏览量都来自爬虫和机器人。这与我看到的报告一致,其中一份报告称52% 的网站访问来自爬虫和机器人。在我的网站上,爬虫/机器人百分比接近 75%。那是因为我有大约 50,000 页。人类流量集中在一小部分热门页面上,而爬虫/机器人则访问所有页面。

您的第二个问题询问是否有一种方法可以排除机器人,就像 Google Analytics 中提供的选项一样。不,它不作为 Maps API 中的选项提供。您可以检测代码中是否存在机器人并抑制 api 请求,就像PHP Stop Bot 解决方案中那样。这是过滤掉它们的初步开始。它可以通过使用像这样的机器人/爬虫检测器来增强:https://github.com/JayBizzle/Crawler-Detect

我要指出的是,机器人有好有坏。您当然希望 Google 和 Bing 将您的页面内容编入索引并提供地图。不要盲目排除所有机器人/爬虫。

我非常热衷于一个需要收费的地图和地点 API 请求的项目。我可能会使用https://51 Degrees.com/提供的服务进行机器人检测。他们有针对设备检测的免费和付费解决方案。在此过程中,他们的 API 可以识别人类与否!

祝你好运。


xom*_*ena 3

为了获得您问题的答案,我建议您查看 Google Maps JavaScript API 的 robots.txt 文件

http://maps.googleapis.com/robots.txt

目前有以下规则

User-agent: *
Disallow: /maps/api/js/AuthenticationService.Authenticate
Disallow: /maps/api/js/DirectionsService.Route
Disallow: /maps/api/js/DistanceMatrixService.GetDistanceMatrix
Disallow: /maps/api/js/ElevationService.GetElevationForLine
Disallow: /maps/api/js/GeocodeService.Search
Disallow: /maps/api/js/QuotaService.RecordEvent
Run Code Online (Sandbox Code Playgroud)

根据此文件,爬虫的配额服务已禁用,因此它们不应消耗您的配额。


编辑2020-11-23

该文件现已更改并读取

User-agent: AdsBot-Google
Disallow: /maps/api/js/
Allow: /maps/api/js
Disallow: /maps/api/place/js/
Disallow: /maps/api/staticmap
Disallow: /maps/api/streetview

User-agent: *
Disallow: /maps/api/js/
Allow: /maps/api/js
Disallow: /maps/api/place/js/
Disallow: /maps/api/staticmap
Disallow: /maps/api/streetview
Run Code Online (Sandbox Code Playgroud)

该线Allow: /maps/api/js意味着机器人在爬行时实际上会消耗资源。特别是,谷歌将向您收取谷歌机器人生成的呼叫费用(如果您问我的话,这有点可疑)。