Files
mckero 8db1d171a0 feat: 重大优化更新 - 修复v14.0并发布Pro版
✨ 新功能:
- 创建bilibili_audio_downloader_pro.py (Pro版) - 全新架构重构
- 添加config.json配置文件支持
- 新增INSTALL.md详细安装指南
- 新增VERSION_COMPARISON.md版本对比说明

🐛 Bug修复 (v14.0):
- 修复中文编码显示问题
- 修复ffmpeg进度条计算不准确
- 改进yt-dlp下载进度解析
- 添加重试机制和超时设置
- 完善错误处理和日志记录

🏗️ Pro版优势:
- 面向对象架构设计,代码更清晰
- 自定义异常类和智能错误恢复
- 准确的进度条显示算法
- 完整的日志系统
- 灵活的配置管理
- 更好的用户体验

📚 文档更新:
- 更新README.md,添加版本对比指引
- 更新requirements.txt依赖列表
- 完善项目文档结构
2025-09-21 12:02:11 +08:00

6.2 KiB

搜索建议

获取搜索建议关键词(web端)

https://s.search.bilibili.com/main/suggest

请求方式:GET

搜索建议最多提供10个候选关键词

搜索建议内容可为任意语言(中 英 日等....),中文拼音支持全拼联想词

url参数:

参数名 类型 内容 必要性 备注
term str 需要获得建议的输入内容 必要
main_ver str v1 非必要 默认为 v1
highlight str 任意, 无明显作用 非必要 默认为空
func str 函数? 非必要 默认为 suggest
suggest_type str 建议类型? 非必要 默认为 accurate
sub_type str 子类型? 非必要 默认为 tag
userid num 本用户 mid 非必要 可能用于个性化推荐
bangumi_acc_num num 番剧累积数? 非必要 默认为 1
special_acc_num num 特殊累积数? 非必要 默认为 1
topic_acc_num num 话题累积数? 非必要 默认为 1
upuser_acc_num num UP主累积数? 非必要 默认为 1
tag_num num Tag 数? 非必要 默认为 10
special_num num 特殊推荐数? 非必要 默认为 10
bangumi_num num 番剧推荐数? 非必要 默认为 10
upuser_num num UP主推荐数? 非必要 默认为 3
rnd num 一个随机浮点数 非必要 由 Math.random() 生成?
buvid str 同 Cookie 中 buvid3 非必要
spmid str 333.1007 非必要

json回复:

根对象:

字段 类型 内容 备注
exp_str str 实验字符串? 作用尚不明确
code num 返回值 0:成功
result obj 搜索建议结果
stoken str ??? 作用尚不明确

result对象:

字段 类型 内容 备注
tag array 套了个娃

result中的tag数组:

项 类型 内容 备注
0 obj 第1建议关键词
n obj 第(n+1)建议关键词 按照相关程度与热度顺序
9 obj 第10建议关键词 最后一项

tag数组中的对象:

字段 类型 内容 备注
value str 关键词内容
ref num 0 作用尚不明确
name str 显示内容 带有 <em class="suggest_high_light"> 的 XML 标签
spid num 5 作用尚不明确
type str 空

示例:

获取关于 洛天依 的搜索建议

curl -G 'https://s.search.bilibili.com/main/suggest' \
--data-urlencode 'term=洛天依'
查看响应示例:
{
  "exp_str": "106301_106700",
  "code": 0,
  "result": {
    "tag": [
      {
        "value": "洛天依",
        "term": "洛天依",
        "ref": 0,
        "name": "<em class=\"suggest_high_light\">洛天依</em>",
        "spid": 5,
        "type": ""
      },
      {
        "value": "洛天依十二周年",
        "term": "洛天依十二周年",
        "ref": 0,
        "name": "<em class=\"suggest_high_light\">洛天依</em>十二周年",
        "spid": 5,
        "type": ""
      },
      {
        "value": "洛天依演唱会",
        "term": "洛天依演唱会",
        "ref": 0,
        "name": "<em class=\"suggest_high_light\">洛天依</em>演唱会",
        "spid": 5,
        "type": ""
      },
      {
        "value": "洛天依手办",
        "term": "洛天依手办",
        "ref": 0,
        "name": "<em class=\"suggest_high_light\">洛天依</em>手办",
        "spid": 5,
        "type": ""
      },
      {
        "value": "洛天依歌曲",
        "term": "洛天依歌曲",
        "ref": 0,
        "name": "<em class=\"suggest_high_light\">洛天依</em>歌曲",
        "spid": 5,
        "type": ""
      },
      {
        "value": "洛天依童话镇",
        "term": "洛天依童话镇",
        "ref": 0,
        "name": "<em class=\"suggest_high_light\">洛天依</em>童话镇",
        "spid": 5,
        "type": ""
      },
      {
        "value": "洛天依东京不太热",
        "term": "洛天依东京不太热",
        "ref": 0,
        "name": "<em class=\"suggest_high_light\">洛天依</em>东京不太热",
        "spid": 5,
        "type": ""
      },
      {
        "value": "洛天依霜雪千年",
        "term": "洛天依霜雪千年",
        "ref": 0,
        "name": "<em class=\"suggest_high_light\">洛天依</em>霜雪千年",
        "spid": 5,
        "type": ""
      },
      {
        "value": "洛天依生日会",
        "term": "洛天依生日会",
        "ref": 0,
        "name": "<em class=\"suggest_high_light\">洛天依</em>生日会",
        "spid": 5,
        "type": ""
      },
      {
        "value": "洛天依生日",
        "term": "洛天依生日",
        "ref": 0,
        "name": "<em class=\"suggest_high_light\">洛天依</em>生日",
        "spid": 5,
        "type": ""
      }
    ]
  },
  "stoken": "4020133863501304726"
}