如何欺骗位置,以便谷歌自动完成API将提供本地结果,最好使用R

问题描述 投票:0回答:3

google 有一个用于下载搜索建议的 API:

https://www.google.com/support/enterprise/static/gsa/docs/admin/70/gsa_doc_set/xml_reference/query_suggestion.html

不幸的是,据我所知,这些结果特定于您所在的位置。 为了进行分析,我希望能够定义谷歌认为它正在提出建议的城市/位置。 当我从坦桑尼亚达累斯萨拉姆刮擦时,会发生以下情况:

http://suggestqueries.google.com/complete/search?client=firefox&q=insurance

["insurance",["insurance","insurance companies in tanzania","insurance group of tanzania","insurance principles","insurance act","insurance policy","insurance act tanzania","insurance act 2009","insurance definition","insurance industry in tanzania"]]

我知道VPN可以部分解决这个问题,但只能给我一个不同的位置,而不是很多位置。 有没有一种合理的方法可以快速轻松地从美国 100 个最大的城市复制此类事情?

确认结果在美国境内有所不同- enter image description here

谢谢!

r geolocation web-scraping vpn spoofing
3个回答
1
投票

Google 将使用您的 IP 和您的位置历史记录(如果已启用)来确定您的位置。

为了绕过这个问题,你可以在注销谷歌帐户时欺骗你的IP(但我不知道谷歌是否会认为这是一次黑客攻击,无论你的意图是什么)。

另一种方法是使用 Tor 浏览器(尽管这不是它的初衷)。您可以使用

Exitnode
配置文件中的
torrc
参数将 Tor 配置为从某个国家退出

文档中所示:

退出节点节点,节点,…

用作退出节点的节点的身份指纹、国家代码和地址模式列表

但是如果你想要一种快速的方法来做到这一点,我认为这是不可能的,因为谷歌想要知道用户的真实位置,并且已经付出了很多努力来让这样的技巧失败。


1
投票

界面语言的

hl
参数会改变搜索结果,但我无法判断它是否真的改变了位置。例如:

http://suggestqueries.google.com/complete/search?client=chrome&q=why&hl=FR

这是一个具有 5 个不同值

hl
的示例:

http://jsbin.com/tusacufaza/edit?js,输出


0
投票

在我的例子中可以使用 gl=country_location, "in" 。在印度为我工作。例子: “http://suggestqueries.google.com/complete/search?client=chrome&gl=in&q=”

© www.soinside.com 2019 - 2024. All rights reserved.