百度下拉框的关键词,一直是SEO关键词拓展的利器,只要在搜索框中输入一个关键词,就可以得到一批相关词。
我有个小技巧,可瞬间提升上百倍的挖掘效率。并且通过python实现后,完全可用于大规模关键词的批量挖掘。
思路其实很简单,有些朋友也有了解。记得当时跟夜息分享的时候,他一直说666 :)
First Blood
首先,在Chrome的Network中,可以获取到百度下拉框提示的API地址:
https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?wd=黄&sugmode=2&json=1&p=3&sid=1427_21091_21673_22581&req=2&pbs=%E5%BF%AB%E6%89%8B&csor=2&pwd=%E5%BF%AB%E6%89%8B&cb=jQuery11020924966752020363_1498055470768&_=1498055470781
-
这里的黄山,就是我输入的关键词,可替换为其他任意关键词。
-
输出的结果,通过简单处理,就是json格式。
具体代码实现如下:
def get_sug(word): url = 'https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?wd=%s&sugmode=2&json=1&p=3&sid=1427_21091_21673_22581&req=2&pbs=%%E5%%BF%%AB%%E6%%89%%8B&csor=2&pwd=%%E5%%BF%%AB%%E6%%89%%8B&cb=jQuery11020924966752020363_1498055470768&_=1498055470781' % word r = requests.get(url, verify=False) # 请求API接口,取消了HTTPS验证 cont = r.content # 获取返回的内容 res = cont[41: -2].decode('gbk') # 只取返回结果中json格式一段,并且解码为unicode res_json = json.loads(res) # json格式转换 return res_json['s'] # 返回关键词列表 print '\n'.join(get_sug('黄山')) |
输出为:
|
Double Kill
这里有个小技巧,就是在关键词后面输入w,会出现跟拼音以w开头的一系列关键词,比如“黄山w”,会出现“黄山温泉”,”黄山玩几天“,“黄山五绝”等关键词(见上截图)。因此,当我们把a~z遍历一遍,会出现更多关键词。
升级后,代码实现如下:
def get_more_sug(word): all_words = [] for i in 'abcdefghijklmnopqrstuvwxyz': all_words += get_sug(word+i) # 遍历字母表 | 利用了上一个函数 return list(set(all_words)) # 去重 print '\n'.join(get_more_sug('黄山')) |
输入结果为:
|
Triple Kill
将上面的思路延展一下,如果在关键词后输入两个单词,就会出现以这2个字母为拼音开头的一系列关键词,比如“黄山tp”,会出现“黄山天气”,“黄山太平湖”(见截图2)。因此,我们又做了升级。
def get_most_sug(word): all_words = [] for i in 'abcdefghijklmnopqrstuvwxyz': for j in 'abcdefghijklmnopqrstuvwxyz': all_words += get_sug(word+i+j) return list(set(all_words)) # 去重 |
然后就出现了更多关键词:
|
Legendary
这里还有一些技巧和思路拓展:
-
如果用作批量跑词,还需要简单包装下,比如关键词循环,数据保存等。
-
实际应用中,字母单循环的性价比更高(也就是Double Kill),速度和词数都比较可观。字母双循环,速度慢,词量也并没有那么高。
-
百度移动端是另外一个API,搜狗,360,Google也有不同的API,可以作为扩展方式,脚本需自行完成。
Shut Down
-
最近在玩王者荣耀,所以小标题用了里面的提示,欢迎大神带我~
-
最近打算给公众号设置一些结构,比如大的品类分为文章、服务;其中文章里是SEO、Python等栏目,服务里有招聘,工具。这样整体结构更清晰一点。
-
题图是森林,也是一个小生态。最近正在思考互联网的生态和SEO的影响,之后可能会写一篇相关的文章。
网友评论