跳转至

使用 Python 查找关键字类别的搜索量上限

在本教程中,我使用 Python 演示如何使用当前排名关键字数据生成广泛的关键字类别,然后自动使用这些关键字与类别进行标记。这对于全面了解您排名最高的主题以及每个类别的潜在搜索量上限非常有用。最大的机会可能是那些总数量上限最大的类别。

要求和假设

导入模块和数据表扩展

让我们首先导入pandas模块和数据表 Google Colab 扩展(以便于查看数据框)。

import pandas as pd
%load_ext google.colab.data_table

现在,我们将 CSV 关键字数据加载到两个不同的数据框中。我们只需要关键字列的第一个 数据框 ,以便生成用于自动将它们标记为类别的关键字计数。

df = pd.read_csv("rckey.csv")['Keyword']
df2 = pd.read_csv("rckey.csv")

两个数据框架中都加载了关键词数据,我们先从第一个数据框架开始生成关键词类别。关键词列中主要包含短语,为了逐字评估,我们将短语按空格split()成一个列表,用explode()从该列表中的词中创建新行,统计该列中的唯一词,并重置数据框架索引。

df = df.str.split().explode().value_counts().reset_index()

该列可能包含大量停止词,因此让我们筛选出这些停止词。根据需要向列表中添加单词。

1
2
3
stop = ['1','2','3','4','5','6','7','8','9','get','ourselves', 'hers','us','there','you','for','that','as','between', 'yourself', 'but', 'again', 'there', 'about', 'once', 'during', 'out', 'very', 'having', 'with', 'they', 'own', 'an', 'be', 'some', 'for', 'do', 'its', 'yours', 'such', 'into', 'of', 'most', 'itself', 'other', 'off', 'is', 's', 'am', 'or', 'who', 'as', 'from', 'him', 'each', 'the', 'themselves', 'until', 'below', 'are', 'we', 'these', 'your', 'his', 'through', 'don', 'nor', 'me', 'were', 'her', 'more', 'himself', 'this', 'down', 'should', 'our', 'their', 'while', 'above', 'both', 'up', 'to', 'ours', 'had', 'she', 'all', 'no', 'when', 'at', 'any', 'before', 'them', 'same', 'and', 'been', 'have', 'in', 'will', 'on', 'does', 'yourselves', 'then', 'that', 'because', 'what', 'over', 'why', 'so', 'can', 'did', 'not', 'now', 'under', 'he', 'you', 'herself', 'has', 'just', 'where', 'too', 'only', 'myself', 'which', 'those', 'i', 'after', 'few', 'whom', 't', 'being', 'if', 'theirs', 'my', 'against', 'a', 'by', 'doing', 'it', 'how', 'further', 'was', 'here', 'than']

df = df[~df['index'].isin(stop)].reset_index()

接下来,我们将前 20 个关键字类别放在列表中。如果要保存到电子表格中,可以更改此项或将之保留出去,但对于图表 20 来说,这是一个很好的数字。

topkeywords = df['index'][:20].to_list()
print(topkeywords)

keyword list

让我们制作一个每个关键字类别的计数快速图表

df[:20].plot.bar(y='Keyword', x='index', figsize=(15,5), title="Volume", rot=20)

keyword count graph

接下来是时候开始给我们的关键词贴上类别标签了,这样我们就可以对搜索量进行总结。我们将使用第二个数据框架。我们使用函数extract(),它使用regex搜索关键字列是否匹配,如果有匹配的关键字,就把它放到新做的Marked列中。我们使用我们从第一个数据框架中制作的类别建立我们的regex。当使用join()时,变量regex是最终会变成 "word1|word2|word3|word4|word5... "的样子。对于那些没有匹配的记录,我们将使用dropna()来删除这些记录。

1
2
3
regex = '(' + ('|'.join(topkeywords)) + ')'
df2['Marked'] = df2.Keyword.str.extract(regex)
df2 = df2.dropna()

现在,让我们将所有相同的关键字类别分组在一起,汇总其搜索量,按搜索量降序排序。

df2 = df2.groupby(['Marked'])['Search Volume'].sum().to_frame().sort_values('Search Volume', ascending=False).reset_index()
df2.head()

dataframe

最近,我们在图形中绘制这些列,并可以看到我们排名的关键字的潜在量。

df2.plot.bar(y='Search Volume', x='Marked', figsize=(15,5), title="Keyword Search Volume Ceiling", xlabel="Tag", ylabel="Search Volume", rot=20)

keyword colume graph

结论

现在,有了这个框架,你可以生成这些关键字类别,并总结搜索量的任何网站挖掘机会。下一个教程,我将展示如何做到这一点与着陆页数据和会话!

格雷格·伯恩哈特的最新帖子

原文翻译自网文,作者: Greg Bernhardt
原文: https://importsem.com/find-search-volume-ceiling-for-keyword-categories-using-python/