加QQ说:1275426593 程序员李洋的博

【开发人员】如何实现批量查竞价排名

本文目的:【针对开发人员】利用百度推广实况/百度推广API。实现批量查竞价排名功能,本文以php技术作为demo。

我要做:实现批量查竞价排名功能

资源地址:

百度推广API,查竞价排名功能接口demo_php

百度推广实况,查竞价排名功能源码,免费

简介:

百度提供付费百度推广API接口1000次/4元,本文主要针对如何实现免费批量查竞价排名的技术实现讨论。




一、付费批量查竞价排名功能实现(1000次/4元)

百度搜索推广API服务地址:https://cloud.baidu.com/doc/SEM/guanliAPI.html#getWord 直接调用即可。


二、免费批量查竞价排名功能实现

2.1 过程剖析

百度提供的唯一官方位置就是推广实况,我们采用模拟请求的方式实现整个功能。

a.打开百度推广实况

b.填入搜索关键词/搜索地域/搜索设备

c.搜索

d.结果


1473056913_248078.png

(推广实况搜索界面)




1473056696_956037.png

(流程示意图)


2.2 请求剖析

通过流程示意图,我们来分析该请求包。请求数据如下:


1473057055_936844.png

(请求包分析)


只要我们模拟出以上请求包,即可实现批量查询竞价排名功能,达到我们不可告人的目的,一想想就觉得兴奋不以

我们主要看解析一下POST的参数吧:

userid:从Cookie中获取

token:从Cookie中获取

reqId:不重要,随机一个即可

path:不重要,写死即可

eventId:不重要,写死即可

secret:很重要,利用js加密token后得到的密匙数据,最麻烦的地方

params:device(1=电脑端,2=移动端),keyword(搜索词),area(搜索地域),pageNo(第几页),html5Enable(是否为html5页面)


2.3 scrent算法详解

在百度JS程序中有一段这样的代码,使用PHP反写即可。


1473057882_242398.png

(百度源码中的加密算法)


(写成php后的代码)

Q:对这段代码有深入研究的人肯定会问,这不是取的时间戳吗,每次值都不一样,为什么服务端可以反解密出来?

A:它是取时间戳的最后一位0~9再与token进行加密计算,也就是说服务端,可能算了10次,只要有一次结果符合则通过校验。猜的




2.4 代码实现

模拟请求包后,我们获得的最终结果是纯html代码。然后再解析html代码,获取我们想要的结果就好了。

这块没什么讲的,就普通的模拟包就好了,我就直接打包发源代码了哈。


2.5 项目效果


1473058853_527526.png

(搜索词)



1473058902_799745.png

(排名结果,有颜色的是竞价排位,红色的是我们集团的排位,绿色的是竞争对手的排位,黑色颜色的是优化排位)



1473059024_113737.png

(批量查竞价排名,导出的excel表)


、特别注意

百度确实很厉害,这个模拟请求是有限制的,似乎和账户的消费由关系。


1.每个账户,每小时查询40次。

2.消费高的账户,能够达到70次。

3.我们有几个账户,所以勉强,每小时查几百个关键词,针对账户里边几W的关键词确实还是杯水车薪。

4.可以使用收费的API噢,好像就没有限制了。


四、总结

通过本次研发批量查询竞价排名,我们可以更快捷,更方便的掌握到排名情况,并且可以结合百度推广API自动对账户的关键词进行调价,达到自动化排名的目的。技术不难,只是需要花时间去研究,能够坚持到最后的朋友,一定是最棒的,加油!