运营一个网站,难免要查网站的关键词排名情况,查自己的排名可以更好的优化,查别人的排名可以模仿也可以竞争。
在5118平台有导出关键词排名的情况,但是有限制的,词多了就不让下载导出了,需要开通会员。
我今天利用5118官方平台给出的api,然后使用python写一个查排名词的脚本,这个api是非常强大的,一次最多可以下载5万条数据,当然前提是这个站确实有这么多的排名词才行。
抛砖引玉,大家可以按自己的需求进行优化。
准备工作
要去5118官方平台注册个帐号,然后进入5118的api商城申请一个“百度-PC-网站排名词导出API”,免费版的可以查询100次,还算不错。
超过后就要收费了,各位朋友可以看自己需求情况看是不是需要购买。
5118这面的接口是比较简单的
比如百度-PC-网站排名词导出API,就一个简单的postman示例。
示例代码
5118官方提供了一段php以及C#的示例代码,大家可以自行参考看一下哦。
下面是我写的python代码
import requests headers={ 'ContentType': 'application/x-www-form-urlencoded; charset=UTF-8', 'Authorization': '你申请到的api密钥',#请替换成你自己的密钥 } content='你要查询的域名'#替换成你想要查询的域名,不带http哦 datas={ 'url':content, } r=requests.post(url='http://apis.5118.com/keyword/baidupc', headers=headers,data=datas).json() print(r['data']['total']) for i in r['data']['baidupc']: print(i) print(i['keyword'],i['rank'])
简单解释一下
上面的代码,你只需要将中文部分替换即可,是不是很简单。
另外 ,平台返回的是json数据,要得到理想的结果你还需要处理一下。
比如我上面的r[‘data’][‘total’]是排名前100的词的总数量
i[‘keyword’]是网站获得排名的关键词
i[‘rank’]排名情况,比如第2页第1位什么的
来一张输出结果情况
关键词以及排名位数情况啦。
5118这个api返回的json数据,可以返回关键词总数,排名情况,获得排名的文章标题,长尾词数量,竞价公司的数量,以及指数情况。
大家可以参照5118的官方参数说明,定制输出结果。
我这里就是抛砖引玉,随便写写,有需要定制脚本或者开发成软件的朋友,可以联系我哦
标签: