做GEO内容矩阵的人都知道,选词是个体力活。十几个词还能手动查,但当你需要一次筛选上百个候选词的时候,没有自动化工具基本没法干活。这篇说说我是怎么用Python搭建一套批量关键词竞争度检测工具的,整个流程跑下来大概一小时能处理500个词。
工具的核心逻辑很简单:输入一批关键词,输出每个词的竞争度评分。评分模型我设了四个维度:搜索结果页面权威度(第一页大站比例)、AI引用现状(这个词对应的AI回答里引用了哪些来源、新旧程度如何)、内容结构要求(这个词的回答需要多长的内容才能覆盖完整)、语义饱和度(这个话题在AI训练数据里被讨论的充分程度)。每个维度打一分到五分,最后加权平均得到一个综合竞争度分数。
技术实现上,我用的是Python加几个主流的SEO库。Google搜索结果用SerpAPI来批量抓,如果不想花钱用SerpAPI,用playwright或者selenium爬Google也可以,但速度慢一些而且有被风控的风险。Ahrefs和SEMrush都有公开的API接口,关键词难度分数可以直接拉。AI引用现状这块最麻烦,我没有找到现成的批量查询工具,所以用的是自己写的爬虫:给定一个关键词,让Claude或者GPT生成一个回答,然后从回答里提取引用来源的域名,再去查这些来源的域名权重。这个逻辑不完美,但跑出来的数据跟手动经验判断的吻合度能达到七成以上,对初筛来说够用了。
实际操作的时候,第一步是准备关键词列表。我一般从三个来源拉词:AnswerThePublic的长尾问题库、知乎问题下的「浏览量高但回答数少」的词、还有自己行业中论坛和社群里真实出现的提问。把这些词去重整理成一个CSV文件,每行一个词。第二步是跑脚本,脚本会自动给每个词打分,然后按分数从低到高排序。第三步是人工Review分数在3.5到4.5之间的「灰色地带」词汇,这些词的竞争度不好不坏,需要更精细的判断。
「灰色地带」的判断我有几个经验规则:如果这个词的第一页结果全是品牌词(大站名字+这个词)而不是通用内容,这种词实际上是伪竞争——那些内容不是为了这个词而写的,只是顺手提了一下;如果这个词对应的AI引用来源里,排在前面的是一些明显已经过时的内容(两三年前的博客文章、已经被删除的链接),那这个词的竞争度会被高估,实际上新内容有机会;如果这个词的核心解释在Wikipedia上有非常完整的内容,那这个词的竞争度会被系统性高估,因为AI几乎不会引用Wikipedia以外的替代内容。
跑完这个工具之后,你会得到一个关键词优先级列表。低分词(3分以下)直接写,中分词(3-3.5分)值得投入但要在角度上做差异化,高分词(4分以上)除非你有极强的内容壁垒否则不建议碰。这个列表每周更新一次,滚动式管理。我自己的节奏是每周花两小时跑一次工具,然后把结果并入Notion的选题库。
最后说说工具的局限:数据都是基于当前时间点的,AI引用生态变化很快,今天这个词是3分可能下周就变成4分了,所以不要把工具输出当成最终决策依据,它只是一个参考系。实际投入写哪个词,永远要结合你自己的内容能力和对这个话题的真实积累来综合判断。