先来说如何把数据写入表格当中,用过采集软件的朋友,可能打仗过这么一种文件格式(.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数据接口支持批量获取数据,自行研究下吧。
好了,本期内容就这些,