Appearance
360 图片搜索 API
📍 2016-10-25 🏷️ #AlphaCut
#开发手记
Storify 的编辑界面右侧有一个 Google Image 的 Tab,能够通过谷歌检索图片素材。今天上午发现,我们的编辑也会频繁用到百度去搜索任务相关的图片,于是准备给 Editor 增加一个关键字搜索图片的功能。
为什么是 360 搜索?
简单。
试着用 360 图片搜索“特朗普”,在 Chrome Network 里很容易就找到了下面这条记录:
多次搜索后发现,在 QueryString 的几个参数里面,q
和 correct
对应关键字,src
= srp,sn
是起始 index ,我也不知道为什么是 30… pn
是每次搜索的图片数。
验证一下,带上参数以后,请求这个地址:
http://image.so.com/j?q=&src=srp&correct=&sn=&pn=
返回一个 JSON:
json
{
"total": 1500,
"end": false,
"sid": "520f0774776aaf978d1f7ba1055694f5",
"lastindex": 59,
"ceg": 179068906,
"list": [],
"boxresult": null,
"wordguess": null
}
搜索结果包含在 list 字段里,如其一:
json
{
"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
}
接口调用说明
API
[GET] http://image.so.com/j?
参数
参数名称 | 是否必须 | 类型 | 描述 |
---|---|---|---|
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
我的处理逻辑很简单,用户输入关键字检索,用sn
和pn
两个参数控制分页。前端传keyword
与page
两个参数给后台,后台再请求 360 图片搜索 API。
蛤蛤,Bingo!