比较不同国家和语言的谷歌搜索结果
Expert Network Defense Engineer
TL;DR:
- 国家和语言回答不同的研究问题。 在每个国际 SERP 分析记录中保留两者。
- 将固定查询实验与本地化查询比较分开。 翻译短语会改变输入,可能会改变意图。
- 在收集之前审核市场矩阵。 保留查询措辞、上下文、观察状态以及每次比较背后的推理。
翻译后的关键词可能描述不同的购买决策。国家设置可以在完全没有翻译查询的情况下改变搜索上下文。当这些选择在数据集中可见时,国际 SERP 分析变得有用。
无抓取谷歌搜索 API 在查询旁边暴露国家和语言控制。困难在于设计一个能准确传达报告含义的比较。此工作流程将实验控制与本地化决策分开,并生成一个请求矩阵,以便您的区域团队在进行任何 API 调用之前进行审核。
选择您实际需要的比较
固定查询比较保持确切的搜索短语和语言设定不变,同时改变国家。它询问在这些国家设置下捕获的结果有何不同。它并未描述任何市场中的所有本地语言需求。
本地化查询比较使用每个受众选择的短语。它询问哪些页面和域在与相同商业主题相关的本地搜索中出现。由于措辞和上下文可能不同,结果无法单独隔离国家的影响。
语言设置比较保持短语和国家固定,同时改变 hl。那是一个单独的实验。将设计名称在矩阵中命名,以免分析人员在后期将结果与本地化查询研究合并。
同一项目可能包含所有这些设计。给每个设计一个独特的标签,并在该标签内进行比较,然后再撰写更广泛的解释。
理解国家和语言控制
谷歌搜索参数模型 将 gl 定义为国家上下文,hl 为搜索语言。它还提供 cr 作为国家限制以及 lr 作为语言限制。上下文设置和限制不应被视为可以互换的。
设置 hl 并不意味着每个返回的页面都将以该语言书写。谷歌描述了参与 搜索结果语言选择 的几个信号。如果页面语言是分析的一部分,请检查目标内容并单独记录其语言。
google_domain 选择谷歌域名。location 和 uule 描述位置输入,而不能一起提供。国家级研究应避免在一个市场中默默添加城市限制。如果当地意图是研究问题,请将城市纳入每个相关比较组。
外部 proxy.country 设置也与 input.gl 有所不同。如果您的请求使用它,请保存它。记录完整的提交请求,以便后来的读者了解国家设置是如何对齐、遗漏或故意不同的。
完整 URL 模式需要自己的规范:当提供 url 时,其他输入参数将被忽略。下面的工作流程使用参数模式,因此审查的矩阵是将要提交的输入。
与本地读者审查查询含义
主题标签将相关的研究问题分组,而不声称这些短语是相同的。保持主题和确切查询在计划中。
请审阅市场了解情况的人员检查拼写、日常词汇、歧义以及可能的意图。一个英语术语在当地可以使用,但并不一定是最自然的购买短语。字面翻译也可能引入原主题未打算传达的含义。
记录审核状态和接受措辞的简要解释。如果短语被更改,创建新的矩阵修订。不要编辑旧观察中的查询文本;这些记录描述了实际发送的输入。
语言标识符本身值得注意。语言标签模型 区分语言和地区变体,而此 API 文档则记录其自己的参数语法。像巴西葡萄牙语这样的散文地区并不能替代在 API 字段中检查接受值。
生成可审核的请求矩阵
以下Python程序写入本地规划数据。它使用当前参数参考中显示的国家和语言示例。法语措辞是一个等待本地审核的示例候选,不是关于测量搜索需求的声明。
使用Python并将代码保存为market_matrix.py;此本地步骤不需要第三方包或API密钥。在可写目录中运行python3 market_matrix.py。该程序创建或替换market-matrix.json,并且不发送网络请求。
python
import json
from pathlib import Path
plans = [
{"topic": "coffee", "design": "fixed-query-country", "q": "coffee", "gl": "us", "hl": "en"},
{"topic": "coffee", "design": "fixed-query-country", "q": "coffee", "gl": "fr", "hl": "en"},
{"topic": "coffee", "design": "localized-query", "q": "café", "gl": "fr", "hl": "fr"},
]
records = []
for item in plans:
request = {
"actor": "scraper.google.search",
"input": {"q": item["q"], "gl": item["gl"], "hl": item["hl"],
"google_domain": "google.com", "start": 0, "device": "desktop"},
}
records.append({"topic": item["topic"], "design": item["design"],
"review_status": "needs_local_review", "request": request})
path = Path("market-matrix.json")
path.write_text(json.dumps(records, ensure_ascii=False, indent=2), encoding="utf-8")
print(f"Wrote {len(records)} planned requests to {path}; no requests sent.")
第一对在保持coffee和hl=en不变的情况下更改国家。最后一行提出了一个本地化的法语查询,并属于不同的设计。将最后一行直接与英文行进行比较会同时改变多个输入。
topic、design和review_status字段是应用程序元数据。审核后仅将嵌套的request对象发送到API。Python的Unicode JSON序列化在规划文件中保留了带重音的查询文本。
使用Scrapeless开始抓取
使用Scrapeless提升您的网络抓取和自动化工作流程!
今天注册,获得5美元的免费信用额度——无需信用卡。立即在Scrapeless仪表板中领取您的免费信用额度。
在不混合上下文的情况下收集观察
一旦措辞获得批准,请使用Google搜索请求接口通过x-api-token提交每个请求。端点是POST https://api.scrapeless.com/api/v1/scraper/request,执行者是scraper.google.search。
经过身份验证的收集需要您的帐户密钥,并且尚未为本文运行。本地矩阵是经过验证的规划文档,而不是捕获的Google结果集。在运行更大批量之前,请检查实际账户响应并确认您选择的设置如何反映在输出中。
存储确切的请求、矩阵版本、客户端时间戳和原始响应。HTTP 200携带任务数据;HTTP 201指示一个待处理的任务。在任务结果通过经过验证的工作流程检索之前,保持该待处理状态不影响已完成结果的比较。
在定义的观察窗口内收集比较请求并记录实际时间。顺序调用不是同时的。报告应披露窗口,而不是暗示每个市场在一个瞬间被捕获。
在页面和域级别读取差异
从自然结果开始,并保持对确切URL和主机名的单独比较。URL重叠显示相同页面是否出现;主机名重叠可以显示常见发布者,即使他们提供不同的本地化路径。
选择并记录主机名分组策略。将每个子域单独处理可保留详细信息;合并选定的子域可以支持商业级视图。子字符串检查是不安全的,因为包含熟悉单词的主机名可能属于不同的所有者。
将返回位置与语言和内容分类分开。一个页面在市场中的出现并不证明其本地拥有权、本地受欢迎程度或对该受众的适用性。在标记其语言、商业意图或相关性之前,请先检查该页面。
如果有机数组为空、缺失或由于收集失败而不可用,请单独记录这些条件。缺失的观察绝不应该造成人工“没有竞争者”的市场。
将比较转化为编辑决策
国际比较应以一个您的团队可以调查的问题结束。重复出现的本地出版商可能表明市场特定示例值得关注。不同的页面类型可能表明查询措辞捕捉到了不同的意图。
这些是假设。打开页面,检查其内容,并询问本地审阅者该解释是否符合。搜索结果摘要提供的上下文有限,并且可能与当前页面文本不同。
在数据集旁边保持决策日志:比较设计、使用的观察、解释、支持的页面审核和建议的行动。如果团队更改了登录页面或本地化简报,将其记录为单独事件。原始观察保持不变。
结论
在选择参数之前围绕一个问题构建比较。保持国家、语言和查询措辞明确,然后让本地审阅者批准矩阵。生成的数据集可以支持国际SEO决策,而不将翻译视为等效实验。
如果项目扩展到 Google 图像,请将其模块映射与此有机网页结果比较分开。
构建您的下一个搜索观察
根据您的团队需要回答的问题配置 Google Search API。在设置采集频率之前,请查看 Scrapeless 定价。 Google Search 参数模型 解释了在此工作流程中使用的上下文控制。
在 Discord 或 Telegram 上与社区讨论您的实现。
常见问题解答
问:葡萄牙语是否意味着搜索配置为巴西?
不是。语言和国家是单独的选择。在收集巴西市场观察之前,请确认接受的国家和语言值;本文未声称有实时的巴西结果。
问:hl 是否保证每个结果页面的语言?
不是。将语言设置与观察到的页面语言视为分开的字段。当这种区别重要时,请检查页面内容。
问:翻译后的关键词可以像只是国家变化那样比较吗?
不是。改变措辞会改变输入。使用本地化查询设计,并解释这些短语代表的是经过审查的主题,而不是相同的查询。
问:location 和 uule 应该合并吗?
不是。参数参考使它们互为排斥。选择适当的位置方法,并在请求记录中保留它。
问:矩阵程序是否调用 Google Search API?
不是。它生成一个本地规划文件。经过身份验证的采集是一个需要 API 密钥和检查真实账号输出的单独步骤。
在Scrapeless,我们仅访问公开可用的数据,并严格遵循适用的法律、法规和网站隐私政策。本博客中的内容仅供演示之用,不涉及任何非法或侵权活动。我们对使用本博客或第三方链接中的信息不做任何保证,并免除所有责任。在进行任何抓取活动之前,请咨询您的法律顾问,并审查目标网站的服务条款或获取必要的许可。



