概述
达观数据为应用方提供了文章抓取服务,可以通过后台配置抓取的公众号,并且可以通过接口获取对应的文章信息,以及对文章打标签服务。
注意事项
您需要完成以下步骤后,才可调用达观数据相关服务。
1. 如您还没有开通达观账号,请先开通,账号开通请参考文档:Step 1:开通账号。
2. 获取您的appid
及appname
,请参考文档:获取AppId及AppName。
3. 设置IP白名单,请参考文档:设置IP白名单。
4. 如果您使用智能推荐
或搜索引擎
服务,请先进行数据上报。数据上报请参考文档:数据上报接口文档。
接口列表
1.获取订阅文章列表接口
2.获取指定公众号文章列表接口
3.获取订阅公众号列表接口
4.获取文章内容接口
5.订阅公众号接口
6.附录
关于公众号订阅、文章列表预览、回调地址、数据统计均可在达观数据后台进行配置
获取订阅文章列表接口
接口描述
获取用户订阅公众号的所有微信文章列表,按照发文时间由旧到新排序,文章信息包括文章url、发文时间、缩略图等。用户可通过达观数据后台或者订阅公众号接口订阅公众号
URL
http://spiderapi.datagrand.com/articles/YOUR_APP_NAME
Http Method
GET
Http 返回格式
JSON
Http 请求参数说明
参数 | 类型 | 是否必需 | 描述 |
---|---|---|---|
appid | int | 是 | 应用id |
tag | string | 否 | 取某个标签的文章,获取该标签的文章列表 |
pos | int | 否 | 分页返回结果的开始项,用于翻页,默认为0 |
cnt | int | 否 | 每页返回的结果条数,默认为20,例如当pos为10,cnt为20时,返回搜索结果的第10-30条结果。cnt最大为50 |
Http 返回结果说明
字段 | 类型 | 描述 |
---|---|---|
status | string | 执行结果,OK为成功,FAIL为失败,如果有参数异常但可以有返回结果,则返回WARN,请根据返回错误码进行排查 |
resultcount | int | 返回结果总数,如请求失败,则resultcount值为-1 |
resultdata | string | 文章结果,为一个list,每一项为一个json dict,主要包括: articleid: 文章唯一ID article_title:文章标题 gzh_name:公众号名称gzh_thum_url:公众号缩略图 article_thum_url:文章缩略图urlcontent_url: 文章链接user_tags:文章标签,以“,”进行分隔(全)article_time:发文时间,秒级时间戳digest: 文章摘要gzhid: 公众号微信后台唯一识别码 |
request_id | string | 该条查询的记录id,发生错误时产生此字段,主要用于排查问题使用 |
errors | string | 出现问题时提供错误信息,正常时不显示 |
示例
CURL调用示例:
1 2 |
curl 'http://spiderapi.datagrand.com/articles/YOUR_APP_NAME?pos=0&cnt=2&tag=搞笑&appid=12345' |
成功返回示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
{ "status": "OK", "resultcount": 15, "request_id": "1422348642065805100373587", "resultdata": [ { "articleid": 234334, "article_title ": "看完不禁感叹,这才是生活", "gzh_name ": "冷笑话", "gzh_thum_url": "http://wx.qlogo.cn/mmhead/QK", "article_thum_url": "http://mmbiz.qpic.cn/uggPXk", "content_url": "http://mp.weixin.qq.com/s?__biz=Mjk2NzMwNTY2MA", "article_time": 1462272136, "user_tags": "科技类", "gzhid": "gh_xxx", "digest": "这是摘要", }, ... ] } |
错误返回示例:
1 2 3 4 5 6 7 8 9 |
{ "status": "FAIL", "request_id": "1422348739084222300234072", "errors": { "code": 2012, "message": "ip not in whitelist" } } |
警告返回示例:
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 |
{ "status": "WARN", "request_id": "1422348739084222300234072", "errors": { "code": 2012, "message": "cnt too large" }, "resultcount": 15, "resultdata": [ { "articleid": 234334, "article_title ": "看完不禁感叹,这才是生活", "gzh_name ": "冷笑话", "gzh_thum_url": "http://wx.qlogo.cn/mmhead/QK", "article_thum_url": "http://mmbiz.qpic.cn/uggPXk", "content_url": "http://mp.weixin.qq.com/s?__biz=Mjk2NzMwNTY2MA", "user_tags": "开心 快乐", "article_time": 1462272136, "gzhid": "gh_xxx", "digest": "这是摘要", }, ... ] } |
通过回调获取数据:
应用方可以在达观后台进行回调配置,有新文章时会将数据通过post的方式回调给应用方,post的data,数据为上面返回的json数据。
请求示例:
回调地址如设为:http://datareceive.customer.com/data
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
curl -i -X POST -H "Content-Type: application/json" -d ' { "status": "OK", "resultcount ": 15, "request_id": "1422348642065805100373587", "resultdata": [ { "articleid": "234334", "article_title": "看完不禁感叹,这才是生活", "gzh_name": "冷笑话", "gzh_thum_url": "http://wx.qlogo.cn/mmhead/QK", "article_thum_url": "http://mmbiz.qpic.cn/uggPXk", "content_url": "http://mp.weixin.qq.com/s?__biz=Mjk2NzMwNTY2MA", "user_tags": "搞笑 娱乐", "dg_tags": "搞笑,开心,娱乐", "read_num": "-1", "praise_num": "-1", "article_time": 1462272136, "digest": "这是摘要" }, ... ] }' "http://datareceive.customer.com/data" |
获取指定公众号文章列表接口
接口描述
获取某个特定公众号的所有微信文章列表,包括文章url、发文时间、缩略图等。需附带公众号id参数
URL
http://spiderapi.datagrand.com/gzh_articles/YOUR_APP_NAME
Http Method
GET
Http 返回格式
JSON
Http 请求参数说明
参数 | 类型 | 是否必需 | 描述 |
---|---|---|---|
appid | int | 是 | 应用id |
gzhid | string | 是 | 公众号的唯一ID,获取该公众号的文章列表 |
pos | int | 否 | 分页返回结果的开始项,用于翻页,默认为0 |
cnt | int | 否 | 每页返回的结果条数,默认为20,例如当pos为10,cnt为20时,返回搜索结果的第10-30条结果。cnt最大为50 |
Http 返回结果说明
字段 | 类型 | 描述 |
---|---|---|
status | string | 执行结果,OK为成功,FAIL为失败,如果有参数异常但可以有返回结果,则返回WARN,请根据返回错误码进行排查 |
resultcount | int | 返回结果总数,如请求失败,则resultcount值为-1 |
resultdata | string | 文章结果,为一个list,每一项为一个json dict,主要包括:articleid: 文章唯一IDarticle_title:文章标题gzh_name:公众号名称gzh_thum_url:公众号缩略图article_thum_url:文章缩略图urlcontent_url: 文章链接urluser_tags:用户后台定义的标签,以,进行分隔dg_tags:文章标签gzhid:公众号微信后台唯一标识article_time:发文时间,秒级时间戳digest: 文章摘要 |
request_id | string | 该条查询的记录id,发生错误时产生此字段,主要用于排查问题使用 |
errors | string | 出现问题时提供错误信息,正常时不显示 |
示例
CURL调用示例:
1 2 |
curl 'http://spiderapi.datagrand.com/gzh_articles/YOUR_APP_NAME?pos=0&cnt=2&gzhid=gh_12345&appid=12345' |
成功返回示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
{ "status": "OK", "resultcount": 2, "request_id": "1422348642065805100373587", "resultdata": [ { "articleid": 234334, "article_title": "看完不禁感叹,这才是生活", "gzh_name": "冷笑话", "gzhid": "gh_xxx", "gzh_thum_url": "http://wx.qlogo.cn/mmhead/QK", "article_thum_url": "http://mmbiz.qpic.cn/uggPXk", "content_url": "http://mp.weixin.qq.com/s?__biz=Mjk2NzMwNTY2MA", "user_tags": "搞笑,娱乐", "article_time": 1462272136, "digest": "这是摘要" }, ... ] } |
错误返回示例:
1 2 3 4 5 6 7 8 9 |
{ "status": "FAIL", "request_id": "1422348739084222300234072", "errors": { "code": 2012, "message": "ip not in whitelist" } } |
警告返回示例:
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 |
{ "status": "WARN", "request_id": "1422348739084222300234072", "errors": { "code": 2012, "message": "cnt too large" }, "resultcount": 15, "resultdata": [ { "articleid": 234334, "article_title": "看完不禁感叹,这才是生活", "gzh_name": "冷笑话", "gzhid": "gh_xxx", "gzh_thum_url": "http://wx.qlogo.cn/mmhead/QK", "article_thum_url": "http://mmbiz.qpic.cn/uggPXk", "content_url": "http://mp.weixin.qq.com/s?__biz=Mjk2NzMwNTY2MA", "user_tags": "搞笑,娱乐", "article_time": 1462272136, "digest": "这是摘要 }, ... ] } |
获取订阅公众号列表接口
接口描述
获取用户订阅的所有公众号信息列表,包括公众号头像、昵称、二维码等
URL
http://spiderapi.datagrand.com/gzhs/YOUR_APP_NAME
Http Method
GET
Http 返回格式
JSON
Http 请求参数说明
参数 | 类型 | 是否必需 | 描述 |
---|---|---|---|
appid | int | 是 | 应用id |
pos | int | 否 | 分页返回结果的开始项,用于翻页,默认为0 |
cnt | int | 否 | 每页返回的结果条数,默认为20,例如当pos为10,cnt为20时,返回搜索结果的第10-30条结果。cnt最大为50 |
Http 返回结果说明
字段 | 类型 | 描述 |
---|---|---|
status | string | 执行结果,OK为成功,FAIL为失败,如果有参数异常但可以有返回结果,则返回WARN,请根据返回错误码进行排查 |
resultcount | int | 返回结果总数,如请求失败,则resultcount值为-1 |
resultdata | string | 文章结果,为一个list,每一项为一个json dict,主要包括gzhid: 公众号微信后台唯一识别码head_img:公众号头像nick_name:公众号名称qrcode_url:公众号二维码地址description公众号描述weixin_name: 公众号ID |
request_id | string | 该条查询的记录id,发生错误时产生此字段,主要用于排查问题使用 |
errors | string | 出现问题时提供错误信息,正常时不显示 |
示例
CURL调用示例:
1 2 |
curl 'http://spiderapi.datagrand.com/gzhs/YOUR_APP_NAME?appid=12345&pos=0&cnt=2' |
成功返回示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
{ "status": "OK", "request_id": "1422348642065805100373587", "resultcount": 10, "resultdata": [ { "gzhid": "gh_xxx", "head_img": "http://gzh_img.jpg", "nick_name": "冷笑话", "description": "冷笑话的公众号描述", "qrcode_url": "http://qrcode_url.jpg", "dg_score": 15, "weixin_name": "wangxixx" }, ... ] } |
错误返回示例:
1 2 3 4 5 6 7 8 9 |
{ "status": "FAIL", "request_id": "1422348739084222300234072", "errors": { "code": 2012, "message": "ip not in whitelist" } } |
警告返回示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
{ "status": "WARN", "request_id": "1422348642065805100373587", "errors": { "code": 2012, "message": "cnt too large" }, "resultcount": 15, "resultdata": [ { "gzhid": "gh_xxx", "head_img": "http://gzh_img.jpg", "nick_name": "冷笑话", "description": "冷笑话的公众号描述", "qrcode_url": "http://qrcode_url.jpg", "dg_score": 15, "weixin_name": "wangxixx" }, ... ] } |
获取文章内容接口
接口描述
通过文章id获取文章内容,内容为该文章的html
URL
http://spiderapi.datagrand.com/article_page/YOUR_APP_NAME
Http Method
GET
Http 返回格式
JSON
Http 请求参数说明
参数 | 类型 | 是否必需 | 描述 |
---|---|---|---|
appid | int | 是 | 应用id |
articleid | int | 否 | 文章的唯一标识id,可通过订阅文章列表接口和热门文章接口获取articleid |
Http 返回结果说明
字段 | 类型 | 描述 |
---|---|---|
status | string | 执行结果,OK为成功,FAIL为失败,如果有参数异常但可以有返回结果,则返回WARN,请根据返回错误码进行排查 |
resultcount | int | 返回结果总数,如请求失败,则resultcount值为-1 |
resultdata | string | 文章结果,为一个list,每一项为一个json dict,主要包括articleid: 文章唯一ID、content:文章正文内容、images:文章中所有的图片url列表 |
request_id | string | 该条查询的记录id,发生错误时产生此字段,主要用于排查问题使用 |
errors | string | 出现问题时提供错误信息,正常时不显示 |
示例
CURL调用示例:
1 2 |
curl 'http://spiderapi.datagrand.com/article_page/YOUR_APP_NAME?appid=12345&articleid=1092912' |
成功返回示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
{ "status": "OK", "request_id": "1422348642065805100373587", "resultdata": { "articleid": 1092912, "content": "……", "images": [ "http://mmbiz.qpic.cn/mmbiz/1.jpg", "http://mmbiz.qpic.cn/mmbiz/2.jpg", ... ] } } |
错误返回示例:
1 2 3 4 5 6 7 8 9 |
{ "status": "FAIL", "request_id": "1422348739084222300234072", "errors": { "code": 2012, "message": "ip not in whitelist" } } |
警告返回示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
{ "status": "WARN", "request_id": "1422348739084222300234072", "errors": { "code": 100, "message": "no content find, maybe articleid invalid" }, "resultcount": -1, "resultdata": { "articleid": 1092912, "content": "", "images": [] } } |
注意事项:
为了解决html中图片不能正常显示的问题,返回结果中包含有html中所有的图片url列表。
调用方可将图片依次下载后,将html中的图片url依次替换成本地域的图片链接。
订阅公众号接口
URL
http://spiderapi.datagrand.com/subscribe/YOUR_APP_NAME
接口描述
通过文章url订阅发布该文章的公众号,url必须为合法的文章url
Http Method
GET
Http 返回格式
JSON
Http 请求参数说明
参数 | 类型 | 是否必需 | 描述 |
---|---|---|---|
appid | int | 是 | 应用id |
article_url | string | 是 | 微信文章url,注意该参数为url encode后的值(必须要url encode) |
Http 返回结果说明
字段 | 类型 | 描述 |
---|---|---|
status | string | 执行结果,OK为成功,FAIL为失败,如果有参数异常但可以有返回结果,则返回WARN,请根据返回错误码进行排查 |
request_id | string | 该条查询的记录id,发生错误时产生此字段,主要用于排查问题使用 |
errors | string | 出现问题时提供错误信息,正常时不显示 |
示例
CURL调用示例:
1 2 |
curl 'http://spiderapi.datagrand.com/subscribe/YOUR_APP_NAME?appid=12345&article_url=http%3a%2f%2fmp.weixin.qq.com%2fs%3f__biz%3dMjM5NTA0Mjk0MA%3d%3d%26mid%3d2652760040%26idx%3d6%26sn%3da8047cd13d70953191b6457f1c67d0ee%23rd' |
成功返回示例:
1 2 3 4 5 |
{ "status": "OK", "request_id": "1422348642065805100373587", } |
错误返回示例:
1 2 3 4 5 6 7 8 9 |
{ "status": "FAIL", "request_id": "1422348739084222300234072", "errors": { "code": 2012, "message": "ip not in whitelist" } } |
附录: 类别名称和ID的映射关系
cateid | 名称 |
---|---|
1 | 社会资讯 |
3 | 娱乐 |
4 | 科技 |
5 | 数码 |
6 | 互联网 |
7 | 游戏 |
8 | 汽车 |
9 | 体育运动 |
10 | 财经 |
12 | 健康 |
13 | 美食 |
14 | 时尚 |
15 | 教育 |
17 | 育儿 |
18 | 房产家居 |
19 | 文化生活 |
20 | 旅游摄影 |
21 | 搞笑 |
22 | 情感 |