360图片搜索API

Storify 的编辑界面右侧有一个 Google Image 的 Tab,能够通过谷歌检索图片素材。今天上午发现,我们的编辑也会频繁用到百度去搜索任务相关的图片,于是准备给 Editor 增加一个关键字搜索图片的功能。

为什么是360搜索?

简单。

我试着用360图片搜索“特朗普”,在 Chrome Network 里很容易就找到了下面这条记录:



多次搜索后发现,在 Query String 的几个参数里面,qcorrect 对应关键字,src = srp,sn 是起始 index ,我也不知道为什么是30… pn 是每次搜索的图片数。

验证一下:

带上参数以后,请求这个地址:

1
http://image.so.com/j?q=&src=srp&correct=&sn=&pn=

可以返回一个 JSON:

1
2
3
4
5
6
7
8
9
10
{
"total": 1500,
"end": false,
"sid": "520f0774776aaf978d1f7ba1055694f5",
"lastindex": 59,
"ceg": 179068906,
"list": [],
"boxresult": null,
"wordguess": null
}

搜索结果包含在 list 字段里,图片信息非常丰富,如其一:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
{
"id": "b5403314fab522a8c938d34b07bd3566",
"qqface_down_url": false,
"downurl": false,
"grpmd5": false,
"type": 0,
"src": "1",
"index": 30,
"title": "<em>希拉里</em>疑似晕倒有谜团 美国大选有阴谋?<em>希拉里</em>",
"litetitle": "",
"width": "840",
"height": "560",
"imgsize": "251KB",
"imgtype": "JPEG",
"key": "bb4ae5a0af",
"dspurl": "www.xilu.com",
"link": "http://www.xilu.com/jstj/20160913/1000010000960889.html",
"source": 2,
"img": "http://img1.xilu.com/2016/0913/c7a5607fc38b5a24c7c51546f4556483.jpg",
"thumb_bak": "http://p2.so.qhmsg.com/t01db084541041bc687.jpg",
"thumb": "http://p2.so.qhmsg.com/t01db084541041bc687.jpg",
"_thumb_bak": "http://p2.so.qhmsg.com/sdr/_240_/t01db084541041bc687.jpg",
"_thumb": "http://p2.so.qhmsg.com/sdr/_240_/t01db084541041bc687.jpg",
"thumbWidth": 360,
"dsptime": "",
"thumbHeight": 240,
"grpcnt": "1",
"fixedSize": false
}

接口调用说明

URL

1
http://image.so.com/j?

格式

JSON

请求方式

GET

参数

参数名称 是否必须 类型 描述
q String 关键字
src String -
correct String 关键字
sn Number 起始 Index
pn Number 图片数
zoom Number 图片尺寸,如1为大尺寸
color String 图片颜色,如 ‘red’
t String 动/静 态图片,如 ‘d’ 为动态

返回参数说明

参数名称 描述
total 图片总数
end 是否为结尾
sid -
lastindex 本次搜索结果最后一个图片的 index
ceg -
list 搜索结果 list
boxresult -
wordguess -

AlphaCut Editor

我的处理逻辑很简单,用户输入关键字检索,用snpn两个参数控制分页。前端传keywordpage两个参数给后台,后台再请求360图片搜索API。

蛤蛤,Bingo!