为什么相同 Google 搜索 API 在 R 与浏览器中产生不同的结果

Why is the Same Google Search API Producing Different Results in R vs Browser

提交完全相同的 Google 在浏览器 (Chrome) 中搜索 API 查询并在 R returns 中搜索不同数量的结果。这可能是什么原因?唯一明显的区别是我从我的计算机(基于英国)在浏览器中提交查询,而 R 结果来自基于 NL 的 GCE VM。即使我在查询字符串中指定了搜索国家/地区,这也可能是原因吗?

# Pasted in the browser address bar
https://www.googleapis.com/customsearch/v1?q=%22KALLIGIANNIS%22%20Rethymno&num=10&lr=lang_en&cx=SSS&gl=gr&cr=countryGR&dateRestrict=date:r:20150831:20170831&key=XXX&alt=json

# Get request in R
httr::GET('https://www.googleapis.com/customsearch/v1?q=%22KALLIGIANNIS%22%20Rethymno&num=10&lr=lang_en&cx=SSS&gl=gr&cr=countryGR&dateRestrict=date:r:20150831:20170831&key=XXX&alt=json')

浏览器中显示的结果:

"searchInformation": {
  "searchTime": 0.133114,
  "formattedSearchTime": "0.13",
  "totalResults": "109",
  "formattedTotalResults": "109"

R 中的结果

oneresult <- GET('https://www.googleapis.com/customsearch/v1?q=%22KALLIGIANNIS%22%20Rethymno&num=10&lr=lang_en&cx=SSS&gl=gr&cr=countryGR&dateRestrict=date:r:20150831:20170831&key=XXX&alt=json')

content(oneresult)[[5]]

$searchTime
[1] 0.584238

$formattedSearchTime
[1] "0.58"

$totalResults
[1] "59"

$formattedTotalResults
[1] "59"

google 搜索算法是一个黑盒子。它会根据地理位置和其他参数产生不同的结果,但并非所有参数都是已知的。

例如,在常规模式下使用浏览器(不是通过 googleapis)与隐身模式也可能会产生不同的结果。

我的猜测是您的假设是正确的(差异是由搜索的起始位置引起的)。