搜索推广API

    getPreview

    该接口可以获取指定关键词的百度推广的推广实况数据。

    请求(Request)

    • 请求头域: 无特殊Header参数
    • 请求参数:
    参数名称 类型 是否必需 描述
    keyWords List 必需。默认一次只支持一个关键词,如您需要一次性调用多个关键词,请提交工单反馈。 关键词字面
    device int 必需,0表示PC,1表示移动 设备类型
    region int 必需,目前支持二级地域,地域对照表详见《地域对照表》 地域代码
    page int 必需,推广实况的页码,从0开始为第一页 页码
    display int 必需,0表示html,该字段为预留字段,目前只支持HTML格式的数据返回方式 数据展现方式

    响应(Response)

    • 响应头域: 无特殊Header参数
    • 响应参数:
    参数名称 类型 描述
    previewInfos List 关键词的推广实况数据(html格式)

    PreviewInfo数据类型:

    参数名称 类型 描述
    keyword String 关键词字面
    data String 使用gzip进行压缩的推广实况的
    HTML数据, 解压缩之前请将用base64解码,
    然后gzip解压,解压后再使用utf-8编码转
    换为String,即为推广实况的实际HTML数据

    说明:

    为了节约带宽、提高系统响应能力,现在将原始推广实况html数据使用utf-8编码获取其byte数组,然后用gzip对其进行压缩,并将压缩后的byte数组使用base64编码成字符串进行传输。因此使用者在拿到api返回的字符串后应首先用base64解码成byte数组,然后使用gzip解压,解压后再使用utf-8进行编码即可得到推广实况实际html数据。附解压缩demo如下:

    public static String uncompress(String str) throws IOException {
            if (str == null || str.length() == 0) {
                return str;
            }
            byte[] bytes = Base64.decodeBase64(str);
            ByteArrayOutputStream out = new ByteArrayOutputStream();
            ByteArrayInputStream in = new ByteArrayInputStream(bytes);
            GZIPInputStream gunzip = new GZIPInputStream(in);
            byte[] buffer = new byte[256];
            int n;
            while ((n = gunzip.read(buffer)) >= 0) {
                out.write(buffer, 0, n);
            }
            return out.toString("utf-8");
        }

    错误码

    90191801=The request keyword number is zero 90191802=The request keyword number is more than maximum 90191803=The request device code is neither 0(PC) nor 1(MOBILE) 90191804=The request display code is neither 0(HTML) nor 1(Structure) 90191805=The request page number is invalid 90191806=The request region code is invalid 90191807=The Server is too busy to response, please try again later 90191808=Server internal error, please check your request and try again later.

    一篇
    服务器访问地址
    一篇
    示例代码