百度API关键词(搜索引擎谷歌)

   搜狗SEO    

本期文章讲两个知识点,一是把数据写入表格。二是通过api数据接口获取关键词在百度上的排名情况。


先来说如何把数据写入表格当中,用过采集软件的朋友,可能接触过这么一种文件格式(.csv),这个格式在百度百科里面描述的名字叫“逗号分隔值”,但是从文件图标上来看,和excel表格是一样的,也就是说它也是支持office办公软件打开的。



通过它名字“逗号分隔值”,我们其实可能猜测到,它是可以通过逗号进行分隔的,这个也是它的最大特点。具体来说就是当写入的内容中,有英文状态下的的逗号,就会以逗号分开,放入表格中的不同“列”中。


比如写入的内容是qwe,sdf

看到的效果就是下面这样~



当然,这个csv文件如果用记事本打开,还是显示qwe,sdf


它的用处是啥呢?

对比上面两张图,记事本显示的是一行内容,而csv通过表格工具打开以后是显示一行两列。这样如果多类数据写入的话,就可以实现分列展示。后期需要数据运算处理,直接转化成表格的xls格式,非常方便。


第二个知识点,通过api接口获取关键词在百度搜索中的排名情况。


这里用的是站长工具的api数据接口,http://api.chinaz.com/ApiDetails/BaiduPcRanking

这个接口每天有500个的免费查询量,对于普通的网站的SEO查询是足够了。对于做网站优化,网络推广的朋友还有有一些用处的。

先看看它的API文档:


对于api对接,常见的就是get和post两种方式,本期的案例中两种都支持,那么对于都支持的我们就用相对简单的get方式。

下面我们开始具体的操作,新建一个csv文件,和新建txt一样,直接用file.write命令。

Dim 路径="/sdcard/pictures/排名.csv"

file.Write (路径, "")

生成好csv以后,接下来是要对接api接口了,先去申请一个key,这个需要注册,这里如果你仅仅为了测试,直接用我的:

"c40fa0ee91ea4e2f8fbf303470806194"

每天500的免费量,很可能用的人多,一会儿就没有了。这里建议大家自己申请,如果测试无法使用,可能就是这个原因了。

我们以在百度上搜索“按键精灵安卓版教程”这个关键词为例,看看我在简书上发文章的页面的排名情况。为了能够有数据,这里我刻意找了一个有排名的页面来做案例。

Dim 路径="/sdcard/pictures/排名.csv"

Dim 路径1="/sdcard/pictures/未有排名.csv"

file.Write (路径, "")

file.Write (路径1, "")

Import "shanhai.lua"

Dim key="c40fa0ee91ea4e2f8fbf303470806194"

Dim 域名="www.jianshu.com"

Dim 关键词="按键精灵安卓版教程"

Dim m=ShanHai.GetHttp("http://apidata.chinaz.com/CallAPI/BaiduPcRanking?key="&key&"&domainName="&域名&"&keyword="&关键词)

TracePrint m

Dim a=Encode.JsonToTable(m)

If a["Reason"] = "成功" Then

If UBOUND(a["Result"]["Ranks"]) > -1 Then

If InStr(1, a["Result"]["Ranks"][1]["RankStr"], "1-")>0 Then

Dim x=split(a["Result"]["Ranks"][1]["RankStr"],"-")

Dim y=a["Result"]["Ranks"][1]["Title"]

TracePrint 关键词&"----"&y&"----"&"首页第"&x(1)&"位"

File.writeline(路径,1,关键词&","&y&","&"首页第"&x(1)&"位")

End If

Else

File.writeline(路径1,1,关键词)

End If

End If

有排名就可以看到如下效果:关键词+网站标题+百度排名情况

当然这里我还用另外一个csv文件,存储没有排名的关键词,留做备份之后着重优化的词语。

由于之前有多期教程讲过api对接以及返回值为json的提取方式,这里就不重新写了。

需要有几点注意的地方:

一、我在测试时候,url.get命令当网址是拼接的时候,获取不到数据,所以选用了同样功能的山海命令。

二、这个案例中我只写了一个关键词的测试,如果是多个关键词的,可以循环获取。

三、使用脚本时,不能打开csv,否则无法写入数据到csv中,导致脚本报错。

四、这个api数据接口支持批量获取数据,自行研究下吧。

好了,本期内容就这些,

 标签:

评论留言

我要留言

欢迎参与讨论,请在这里发表您的看法、交流您的观点。