话题搜索

搜索发布话题

https://app.bilibili.com/x/topic/pub/search
https://api.bilibili.com/x/topic/pub/search

请求方法: GET

注: 该接口可能存在传入页面大小与返回数量不匹配的问题, 可能与访问权限有关

URL参数:

参数名类型内容必要性备注
keywordsstr关键词不必要
contentstr不必要
upload_idstr上传 id?不必要页面刷新第一次请求时为空, 后均非空
似乎为固定值, 格式: ${your_mid}_${login_or_last_refresh_or_cookie_ts}_${dig4}, 如 616368979_1722652786_2534
page_sizeint页大小不必要默认为 20
page_numint1不必要不用于翻页
offsetint偏移不必要可从响应 data.page_info.offset 中获取
web_locationstr333.1365不必要

JSON回复:

根对象:

字段类型内容备注
codenum返回值0: 成功
-400: 请求错误
messagestr错误信息默认为 0
ttlnum1
dataobj信息本体

data 对象:

字段类型内容备注
new_topicobj新建话题?
has_create_jurisdictionboolfalse是否有创建权限?
topic_itemsarray话题列表
request_idstr请求 id
page_infoobj页信息

data 中的 new_topic 对象:

字段类型内容备注
namestr请求参数中的 keywords

data 中的 topic_items 数组中的对象:

字段类型内容备注
idnum话题 id
namestr话题名
viewnum观看数
discussnum讨论数
stat_descstr状态描述
descriptionstr话题描述
show_interact_databoolfalse是否显示互动数据?

data 中的 page_info 对象:

字段类型内容备注
offsetnum下次请求可用的偏移请求参数中的 offset + page_size
has_morebool是否有更多数据当没有更多时可能不存在该字段

示例:

注: 该示例就是解释开头所注的问题的一个示例

curl -G 'https://app.bilibili.com/x/topic/pub/search' \
--url-query 'keywords=2233'
查看响应示例:
{
  "code": 0,
  "message": "0",
  "ttl": 1,
  "data": {
    "new_topic": {
      "name": "2233"
    },
    "has_create_jurisdiction": false,
    "topic_items": [
      {
        "id": 1101122,
        "name": "2233异世集",
        "view": 2502,
        "discuss": 11,
        "stat_desc": "2502浏览·11讨论",
        "description": "分享数字周边",
        "show_interact_data": false
      },
      {
        "id": 1050671,
        "name": "2233生日倒计时",
        "view": 21149,
        "discuss": 130,
        "stat_desc": "2.1万浏览·130讨论",
        "description": "2233生日倒计时",
        "show_interact_data": false
      },
      {
        "id": 1057129,
        "name": "2233手办可可爱爱",
        "view": 836,
        "discuss": 14,
        "stat_desc": "836浏览·14讨论",
        "description": "喜欢2233,",
        "show_interact_data": false
      }
    ],
    "request_id": "1$0$1723796266$7f515d4e26b7bd5007fb8ca4b066bf0b",
    "page_info": {
      "offset": 4,
      "has_more": true
    }
  }
}

推荐搜索话题?

https://app.bilibili.com/x/topic/pub/rcmd/search
https://api.bilibili.com/x/topic/pub/rcmd/search

请求方法: GET

注: 该接口啥也不返回, 但是网页端会请求该接口

URL参数:

参数名类型内容必要性备注
keywordsstr不必要
upload_idstr上传 id?不必要同上
web_locationstr333.1365不必要有时请求不带该参数

JSON回复:

根对象:

字段类型内容备注
codenum返回值0: 成功
messagestr错误信息默认为 0
ttlnum1
datastr数据本体

data 对象:

字段类型内容备注
topic_itemsarray
request_idstr请求 id当传入 keywords 时不为空

示例:

curl -G 'https://app.bilibili.com/x/topic/pub/rcmd/search'
查看响应示例:
{
  "code": 0,
  "message": "0",
  "ttl": 1,
  "data": {
    "topic_items": [],
    "request_id": ""
  }
}