API接口参考
更新时间:2019-06-19
功能简述
实时舆情通过关键词或关键词组合进行全网数据订阅。数据源媒体类型包括新闻、微博、微信、百度贴吧、百度搜索、论坛、博客。任务建立后,会一次性返回当天全部舆情数据,之后每10分钟返回一次增量数据。
输入
名称 | 必填 | 说明 |
---|---|---|
主监控词 | 是 | 舆情数据抓取的第一查询条件,同一任务支持多个主监控词。 |
搭配关键词 | 否 | 与主监控词是并列查询条件的关键词,同一任务支持多个搭配词。 |
排除关键词 | 否 | 舆情数据抓取的筛选条件,不会抓取含有这个关键词的舆情数据。 |
回溯时间 | 否 | 支持任务建立的前1天,前7天两种时间范围的回溯查询。 |
数据源类型 | 是 | 可选择全部,或者新闻、微博、微信、论坛、博客、百度搜索中的一个或多个。 |
输出
名称 | 说明 |
---|---|
标题(文章名) | 文章标题 |
发布时间 | 内容发布时间 |
文章来源 | 内容来源,例如“百度贴吧”“新浪微博” |
URL | 原文地址 |
媒体类型 | 媒体类型,包括新闻、微博、微信、论坛、博客、网页等 |
相关性 | 代表文本与用户提交的关键词的相似程度 |
正文摘要(*) | 摘要提取结果,一般是一小段文本 |
情感倾向(*) | 情感倾向分析结果,值为正面,负面,中立 |
相似文章数量(*) | 任务中的相似文章数量 |
相似文章列表(*) | 任务中的相似文章列表,用户可定义返回的相似文章个数 |
文本中出现的地理位置(*) | 可返回省、市、县(区)数据 |
备注:带(*)的字段为可选字段。
创建任务
接口调用请求说明
API服务地址:http://trends.baidubce.com
方法 | Api | 说明 |
---|---|---|
POST | /openapi/createtask | 创建任务 |
请求参数
名称 | 格式 | 必填 | 说明 |
---|---|---|---|
user_key | string | 是 | 系统分配user_key |
token | string | 是 | token为使用 HMAC 方法生成带有密钥的哈希值,token的生成方法请参看API鉴权认证流程 |
timestamp | int | 是 | 任务提交时的时间戳 |
level | int | 否 | 不同的level,对应的是不同的处理逻辑。 level=1:回溯7天数据,不做分析,结果数据推送到BOS(需要用户自行申请BOS资源) level=2:回溯1天数据,不做分析,结果数据推送到BOS(需要用户自行申请BOS资源) level=3:与不带level参数相同,用户通过订阅接口获取结果数据 |
params_dict | json | 是 | 请求所携带的参数列表 |
返回参数
字段 | 说明 |
---|---|
code | 返回代码,见响应状态码 |
msg | 返回信息 |
task_id | 该请求对应的任务id |
api_list | 该请求携带的api列表,如[realtime_flow:实时舆情 opinion_analysis:观点分析 spread_analysis:传播分析 event_timeline:事件脉络] |
params_dict参数结构
名称 | 格式 | 必填 | 说明 |
---|---|---|---|
media_type | sting | 否 | 需要召回和分析的media_type列表,值为一个[]类型的数据。列表可选值为"ps_page", "news", "weibo", "luntan", "boke", "weixin", "all"。,分别代表百度网页搜索结果,新闻,微博,论坛,博客,微信,以及所有。举例:若为["all"]则召回全部媒体类型数据,若为["news","weibo"]则召回新闻和微博数据,若不带该字段,则效果同["all"]。 |
history | int | 否 | 回溯时间,天为单位,取值0,1,7,默认0天 |
required_keywords | string array | 是 | 主监控词列表,如["北京","上海"],多个词用半角,分割 |
optional_keywords | string array | 否 | 搭配词列表,多个词用半角,分割,与主监控词是与的关系 |
filter_keywords | string array | 否 | 过滤词列表,多个词用半角,分割,与主监控词是非的关系 |
data_source | string array | 否 | [],目前未用到该字段,使用时直接置为[]即可 |
api_dict | json | 是 | 请参看以下示例 |
{
"realtime_flow": {//实时舆情
"switch": "1",//开关
"config": {
"sentiment_analysis": "1", //情感分析
"abstract_extract": "1",// 摘要提取
"geo_extract": "1",//位置抽取
"similar_merge": "1"// 相似文章合并
}
},
"event_timeline": {//事件脉络
"switch": "1"
},
"spread_analysis": {//传播分析
"switch": "1"
},
"opinion_analysis": {//观点分析
"switch": "1"
}
} //switch为1表示需要请求该API
更新配置
接口调用请求说明
API服务地址:http://trends.baidubce.com
方法 | Api | 说明 |
---|---|---|
POST | /openapi/updatetask | 更新任务 |
请求参数
名称 | 格式 | 必填 | 说明 |
---|---|---|---|
user_key | string | 是 | 系统分配user_key |
token | string | 是 | token为使用 HMAC 方法生成带有密钥的哈希值,token的生成方法请参看API鉴权认证流程 |
timestamp | int | 是 | 任务提交时的时间戳 |
task_id | int | 是 | 需要更新的task_id |
params_dict | json | 是 | 请求所携带的参数列表 |
返回参数
字段 | 说明 |
---|---|
code | 返回代码,见响应状态码 |
msg | 返回信息 |
task_id | 该请求对应的任务id |
api_list | 该请求携带的api列表,如[realtime_flow:实时舆情 opinion_analysis:观点分析 spread_analysis:传播分析 event_timeline:事件脉络] |
删除任务
接口调用请求说明
API服务地址:http://trends.baidubce.com
方法 | Api | 说明 |
---|---|---|
POST | /openapi/deletetask | 删除任务 |
请求参数
名称 | 格式 | 必填 | 说明 |
---|---|---|---|
task_id | int | 是 | 任务id |
user_key | string | 是 | 用户user_key |
token | string | 是 | token为使用 HMAC 方法生成带有密钥的哈希值,token的生成方法请参看API鉴权认证流程 |
timestamp | int | 是 | api提交时候的时间戳 |
返回参数
字段 | 说明 |
---|---|
code | 返回代码,见响应状态码 |
task_id | 任务id |
status | 任务的完成状态,值为running, finished, failed |
status_desc | 状态详细说明,见状态详情 |
status对应的状态详情如下:
Status | Status_desc |
---|---|
running | running |
delete | delete |
finished | success |
failed | realtime_flow fail |
failed | opinion_mining fail |
failed | spread_analysis fail |
查询任务列表
API服务地址:http://trends.baidubce.com
方法 | Api | 说明 |
---|---|---|
POST | /openapi/getTasklist | 获取任务列表 |
请求参数
名称 | 格式 | 必填 | 说明 |
---|---|---|---|
task_id | int | 否 | 任务id,没有则取所有任务 |
user_key | string | 是 | 用户user_key |
token | string | 是 | token为使用 HMAC 方法生成带有密钥的哈希值,token的生成方法请参看API鉴权认证流程 |
timestamp | int | 是 | api提交时候的时间戳 |
返回参数
字段 | 说明 |
---|---|
code | 返回代码,见响应状态码 |
msg | 返回信息 |
data | Data结构 |
{
"total": 1, //任务总数
"list": [
{
"id": "101",
"create_time": "1480050511",
"media_type": [
"news",
"weibo",
"luntan",
"boke",
"weixin"
],
"history": "7",
"required_keywords": [
"文明6",
"钢铁雄心4"
],
"optional_keywords": [
""
],
"filter_keywords": [
""
],
"api_tpye_list": {
"realtime_flow": {
"config": {
"sentiment_analysis": 1,
"abstract_extract": 1,
"geo_extract": 1,
"similar_merge": 1
},
"switch": 1
},
"event_timeline": {
"switch": 1
},
"spread_analysis": {
"switch": 1
},
"opinion_analysis": {
"switch": 1
}
}
}
]
}
查询任务状态
接口调用请求说明
API服务地址:http://trends.baidubce.com
方法 | Api | 说明 |
---|---|---|
POST | /openapi/getstatus | 查询任务状态 |
请求参数
名称 | 格式 | 必填 | 说明 |
---|---|---|---|
task_id | int | 是 | 任务id |
api_type | string | 是 | 需要查询完成状态的api_type,例如:realtime_flow 表示查询实时舆情结果 |
user_key | string | 是 | 用户user_key |
token | string | 是 | token为使用 HMAC 方法生成带有密钥的哈希值,token的生成方法请参看API鉴权认证流程 |
timestamp | int | 是 | api提交时候的时间戳 |
返回参数
字段 | 说明 |
---|---|
code | 返回代码,见响应状态码 |
task_id | 任务id |
api_type | 用户所查询的api_type,例如 realtime_flow 表示查询实时舆情结果 |
status | 任务的完成状态,值running, finished, failed |
status_desc | 状态详细说明 ,见状态详情 |
status对应的状态详情如下:
Status | Status_desc |
---|---|
running | running |
delete | delete |
finished | success |
failed | realtime_flow fail |
failed | opinion_mining fail |
failed | spread_analysis fail |
获取任务结果
方法 | Api | 说明 |
---|---|---|
POST | /openapi/getresult | 获取任务结果 |
请求参数
名称 | 格式 | 必填 | 说明 |
---|---|---|---|
task_id | int | 是 | 任务id |
api_type | string | 是 | 用户需要获取结果的api_type类型,例如realtime_flow, opinion_analysis, spread_analysis, event_timeline |
user_key | string | 是 | 用户user_key |
token | string | 是 | token为使用 HMAC 方法生成带有密钥的哈希值,token的生成方法请参看API鉴权认证流程 |
timestamp | int | 是 | api提交时候的时间戳 |
params_dict | json | 是,每个api可带上以api_type为key的dict,用于定义参数,若不需要可不带 | 目前仅实时舆情API需要带上这个参数。 |
有关params_dict的参数解释如下:
{
"realtime_flow": {
"offset": "100",[当前获取结果的偏移量,比如这里是指从第101条开始获取结果]
"size": "100",[当次请求最大返回的结果数]
"time_from": "20161017131000",[定义结果时间起点]
"time_to": "20161017131500",[定义结果时间结束点]
"media_type": "weibo,news,bbs",[定义返回哪些媒体类型的结果]
"sentiment_type": "1",[定义返回哪些情感类型的结果,0,1,-1代表中立正面负面]
"search_word": "",[若不为"",仅返回标题或正文命中该search_word的结果]
"relate_type": "1",[只返回较相关的结果]
"province": "",[指定返回province为指定值的数据]
"city": "",[指定返回city为指定值的数据]
"county": ""[指定返回county为指定值的数据]
}
}
返回参数
字段 | 说明 |
---|---|
code | 返回代码,见响应状态码 |
total | 结果条目数量 |
result_list | 返回的结果列表 |
根据不同的apitype, Result list 中的自读格式不同,主要字段分别如下:
实时舆情接口
名称 | 说明 |
---|---|
datatime | 文章发布的时间,如果是ps_page数据源,则datetime表示数据抓取时间 |
geo | 文本中出现的地理位置,可返回省、市、县(区)数据,示例:{"province":[{"name":"新疆维吾尔自治区","conf":1}],"country":[{"name":"中国","conf":1}],"area":[],"county":[],"city":[],"geo_type":"ip"} geo_type值可为ip,baiduid,weiboid,content |
media_type | 媒体类型,包括新闻、微博、微信、论坛、博客、网页等 |
relevance | 从0到10的整数,代表一个文本与用户提交的关键词的绝对相似程度,值越大,代表越相似 |
score | 从0到10的整数,代表一个文本在所有相似文本中与用户关键词相似的相对程度,值越大,代表越相似 |
sentiment | 情感倾向分析结果,值为0,1,-1。其中0为中立,1为正面,-1为负面 |
similar_docs | 任务中相似文章列表[{title,url,datetime},{title,url,datetime}] |
similar_docs_num | 任务中的相似文章数量 |
source | 内容来源,例如“百度贴吧”,“新浪微博” |
summary | 摘要提取结果,一般是一小段文本 |
title | 文章标题 |
url | 原文地址 |
username | 舆情的发布者 |
观点分析接口
名称 | 说明 |
---|---|
opinion_abstract | 观点描述 |
ratio | 观点占比 |
label | 1表示正面,0表示中立,-1表示负面 |
传播分析接口
名称 | 说明 |
---|---|
event_id | 用于标识该传播分析结果的唯一id |
update_time | 该传播路径分析结果上次更新时间 |
event | 事件结构,详述见下文 |
name | 传播分析 |
Event结构:
名称 | 说明 |
---|---|
user_graph | 微博转发关系图中的子图列表,字段说明以及图示见下文 |
content_emotion | 内容情感分析结果 |
content_graph | 原创微博转发数据 |
User_graph
转发关系图
转发关系图中的子图
{
"subgraph_id": 1, //子图id
"subgraph": {
"nodes": [ //子图中的结点信息
{
"user_id": "5688715686", //微博user_id
"appear_time": "2016-11-19 21:19:47", //用户注册时间
"user_type": "ordinary", //用户类型,分为普通,大V等
"followers_count": 72, //粉丝数
"image_url":"http://tp3.sinaimg.cn/5688715686/50/5772983154/0", //头像链接
"user_name": "一颗芯芷为妳" //微博用户名
}
],
"links": [ //用户转发关系,从谁到谁
{
"source": "6039398375", //源用户id
"target": "5032400557", //目标用户id
"retweet_type": "direct", //直接转发还是间接转发
"retweet_step": 1 //中间经过了几次跳转
}
]
},
"subgraph_size": 12 //该子图nodes的个数
}
Content_emotion
名词 | 说明 |
---|---|
positive | 正面列表,列表内容说名见下文(情感项) |
negative | 负面列表,同上 |
neutrality | 中立列表,同上 |
情感项:
{
"user_id": "1803458397",
"weibo_url": "http://weibo.com/1803458397/EiihzeYS5",
"type": "fixed", //fixed代表根微博,非fixed代表不是根微博
"impact_force": 35, //该条微博的影响力
"user_type": "ordinary", //用户类型,分为普通和大V
"followers_count": 232, //粉丝数
"image_url": "http://tp2.sinaimg.cn/1803458397/50/5773196619/1",
"media_type": "weibo",
"date": "2016-11-19 19:01:11", //微博发布时间
"emotion_property": "neutrality", //情感属性
"retweet_count": 1, //转发次数
"user_name": "旦勿日人",
"id": "4043601853570585"
}
content_graph
[
{
"data": {
"nodes": [
{
"user_id": "3568411162",
"weibo_url": "http://weibo.com/3568411162/EigGrlAdU",
"type": "retweet", //retweet代表转发微博,fixed为根微博
"impact_force": 11, //该条微博影响力
"user_type": "ordinary",
"followers_count": 65,
"image_url": "http://tp3.sinaimg.cn/3568411162/50/5772899213/0",
"media_type": "weibo",
"date": "2016-11-19 14:56:58",
"emotion_property": "neutrality",
"retweet_count": 0, //转发数
"user_name": "小赤佬xy",
"id": "4043540395144134"
}
],
"stat": {
"leaf_followers_count_dis": { //子图粉丝数分布
"0": 15, //传播路径中第0层微博用户粉丝数
"1": 44, //传播路径中第1层微博用户粉丝数
"2": 194,
"3": 29,
"4": 2
},
"importance_user": [ //重要微博结点列表
{
"user_id": "5241346591",
"weibo_url": "http://weibo.com/5241346591/EiAynz1dc",
"type": "retweet",
"impact_force": 62,
"user_type": "ordinary",
"followers_count": 221,
"image_url": "http://tp4.sinaimg.cn/5241346591/50/5773577892/0",
"media_type": "weibo",
"date": "2016-11-21 17:32:03",
"emotion_property": "neutrality",
"retweet_count": 266,
"user_name": "大娃有大头",
"id": "4044304198346142"
}
],
"retweet_time_dis": [ //各datetime时间点转发数分布
{
"num": 122,
"datetime": "2016-11-19 14:00:00"
},
{
"num": 335,
"datetime": "2016-11-19 15:00:00"
}
],
"user_total_num": 5912, //总微博用户数
"weibo_total_num": 5911, //覆盖的微博数
"followers_count_dis": { //粉丝分布
"0": 1101,
"1": 1012,
"2": 2451,
"3": 816,
"4": 532
},
"hierarchy_stat": { //传播路径中第1层第2层第3层第4层转发总数,可能还有5,具体有几层根据结果动态生成
"1": 233,
"2": 3464,
"3": 1517,
"4": 697
},
"user_type_ratio": { //用户类型分布
"ordinary": 5897, //普通用户个数
"BigV": 15 //大V用户个数
}
},
"links": [
{
"source": "4043561676169518",
"target": "4043567598801693"
}
]
},
"root": "4044321081124475" //该子图的根用户id
}
]
事件脉络接口
名词 | 说明 |
---|---|
event_id | 事件id |
name | 事件名 |
summary | 事件摘要 |
weight | 这条数据在整个事件中的权重 |
title | 观点摘要(舆情标题) |
url | URL链接 |
text | 舆情摘要 |
time | 舆情发布时间 |
source | 舆情来源 |