python实现百度凤巢关键词规划师提取关键词

Python与SEO 思享 983浏览
摘要:
如果最近还有站的话,感觉拿词库越来越重要了。 准确的说,走其他路并不容易。 除了花钱直接从爱站、站长工具、5118下载词库外,我们还可以通过百度丰巢的关键词规划工具收集关键词,构建自己的词库。 浏览器F12进入开发者模式,点击Netword,然后在关键字规划器中输入关键字进行查询,抓包得到下图: 然后是python代码的实现。 以上可以打印出seo挖掘出来的3000个关键词。 "keyword": "seo 是什么意思",

最近如果还有做站的话,感觉走词库越来越重要了,准确的说,是其他路不好走了。除了花钱直接从爱站、站长工具、5118下载词库之外,我们还可以通过百度凤巢的关键词规划师工具收集关键词建立自己的词库。

获取接口

注册账号

目前是否可以免费注册我也不确定,可以参考之前的文章《如何利用百度推广批量挖掘长尾关键词》我也没怎么关注,大家自己试

拥有账号,登录百度凤巢(https://fengchao.baidu.com/)——搜索推广——进入关键词规划师界面

关键词规划师

抓包

浏览器F12进入开发者模式,点击Netword,然后在关键词规划师中输入关键词进行查询,抓包获取如下图:

关键词规划师抓包

header中获取请求的URL网址、POST的数据、headers信息。然后就是python代码的实现。

python实现简易代码

import requests
import json

url = 'https://fengchao.baidu.com/hairuo/request.ajax?path=lightning%2FGET%2FKeywordSuggestService%2FgetKeywordRecommendPassive&reqid=4b534c48-b80e-xxxxx'
headers = {
    'accept': 'application/json',
    'content-type': 'application/x-www-form-urlencoded',
    'cookie': 'xxxxx',
    'user-agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.81 Safari/537.36 SE 2.X MetaSr 1.0'
}

params = {
    "keyWordRecommendFilter":{"device":0,
                              "positiveWords":[],
                              "negativeWords":[],
                              "fieldFilters":[],
                              "keywordRecommendReasons":[],
                              "searchRegions":"9999999",
                              "regionExtend":False,
                              "removeDuplicate":False,
                              "removeBrandWords":False,
                              "removeCampaignDuplicate":False
                              },
    "source":"web","queryBy":0,"pageNo":1,"pageSize":3000,"wordQuerys":["seo"],"querySessions":["seo"],"entryMessage":"kr_station"
}
data = {
    'reqid': '4b534c48-b80e-xxxxx',
    'userid': 'xxxxx',
    'token': 'xxxxx',
    'path': 'lightning/GET/KeywordSuggestService/getKeywordRecommendPassive',
    'params': json.dumps(params)
}

res = requests.post(url=url, data=data, headers=headers)

res = res.json()['data']['keywordRecommendItems']

for r in res:
    print(r['keyword'])

以上可以打印出seo挖掘的3000个关键词。关键词在params数据中,header和data中的数据需要修改成自己的。获取数据示例如下:

{
    "data": {
        "logId": "13961856165454326160",
        "wordsCount": 723,
        "keywordRecommendItems": [
            {
                "keyword": "seo什么意思啊",
                "averagePv": 1,
                "averagePvPc": 0,
                "averagePvMobile": 0,
                "averageDayPv": 1,
                "averageDayPvPc": 0,
                "averageDayPvMobile": 0,
                "competition": 3,
                "recommendPrice": 1.24,
                "recommendPricePc": 1.58,
                "recommendPriceMobile": 1.24,
                "showReasons": [],
                "matchType": 2,
                "phraseType": 3,
                "campaignId": 0,
                "adgroupId": 0,
                "groupName": "疑问词",
                "averageMonthPv": 36,
                "averageMonthPvPc": 9,
                "averageMonthPvMobile": 27,
                "show": 39,
                "click": 8,
                "competitionPc": 3,
                "competitionWise": 3,
                "wordId": 481396789
            },
            {
                "keyword": "seo是什么意思 为什么要做seo",
                "averagePv": 0,
                "averagePvPc": 0,
                "averagePvMobile": 0,
                "averageDayPv": 0,
                "averageDayPvPc": 0,
                "averageDayPvMobile": 0,
                "competition": 3,
                "recommendPrice": 1.24,
                "recommendPricePc": 1.58,
                "recommendPriceMobile": 1.24,
                "showReasons": [],
                "matchType": 2,
                "phraseType": 3,
                "campaignId": 0,
                "adgroupId": 0,
                "groupName": "疑问词",
                "averageMonthPv": 7,
                "averageMonthPvPc": 1,
                "averageMonthPvMobile": 6,
                "show": 39,
                "click": 8,
                "competitionPc": 3,
                "competitionWise": 3,
                "wordId": 6868879822
            },
        ],
        "keywordRecommendReasons": [],
        "totalCount": 723
    },
    "expand": {},
    "status": 0,
    "errors": []
}

数据中参数非常多,可以自行根据需求对关键词进行过滤、将关键词修改为变量,也可以实现批量抓取

推荐阅读

百度网盘最新不限速下载软件:爱奇艺万能联播

百度网盘的下载速度一直广受诟病。之前有过不限速下载的软件,但是因为平时很少用网盘,软件需要更新,无法使用。最近发现了一个官方的退出加速方法,就是爱奇艺万能网播使用网盘下载功能。下载并安装爱奇艺万能联播,并打开。登录到您的百度云帐户。选择你要下载的文件......

Python实现聚合问答采集文章

最近在一个社区得到了一个用python聚合问答的工具,但是因为已经打包成程序了,所以无法研究,于是在网上找了一个网友分享的源代码,转载于此,供志愿者学习和后期扩展。这个工具可以通过头条搜索、百度下拉结果、搜狗下拉、百度知道搜索、新浪爱问、搜狗问问,将......

百度自动推送php实现代码

我们知道主动推送有助于搜索引擎抓取和收录网站内容,wordpress或者主流CMS其实已经集成了推送功能。但是如果我们要定期归还,而不是只在发布的时候推一次。这个功能可以通过结合PHP和Pagoda Panel的预定任务来实现。$api = '百度站......