用途:抓取微博热搜榜(约50条)和B站热门视频榜,用于选题参考、蹭热点和观察当天讨论内容。触发场景包括“今天有什么热点”“微博热搜”“B站热门”“热榜”“蹭热点选题”等。
主要能力:提供统一命令行入口,可拉全部源或指定单个源,可限制条数,可用 JSON 输出供程序读取。JSON 每条包含 source、title、heat、url、extra,其中 extra.rank 为平台原始位次;空条目丢弃后不重排名次,以保证与平台显示一致。退出码 0 表示至少一个源成功,1 表示全部失败。实例输出包括微博条目标题、热度与搜索链接,以及 B站视频标题、热度与链接。
使用方式:python3 scripts/hot.py 拉全部源;python3 scripts/hot.py weibo --limit 30 拉微博单源并限制30条;python3 scripts/hot.py --json 输出机器可读结果。数据源为微博 weibo.com/ajax/side/hotSearch 和 B站 api.bilibili.com/x/web-interface/popular。
结果用法:热榜只给话题词和标题,不等于可发布内容。典型链路是先拉榜,再由人或模型筛选与自家品类相关的词,然后借助 xiaohongshu-scraper、douyin-scraper 查看该词下他人写法,用 bilibili-creator-finder 找相关 UP 主,素材用 oss-upload 留存复用。热词不宜直接当选题,热搜多含社会新闻与娱乐八卦,硬蹭可能翻车;热度高只代表流量大,不代表适合。
扩展与限制:新增平台只需在 SOURCES 中加入 fetcher,契约是 fetch_xxx(limit, get_json=None) -> [{source, title, heat, url, extra}],失败抛 HotError。微博裸调会 403,需先访问 weibo.com 取访客 cookie 并用同一 cookie jar 再调接口;Referer 必须按源设置,B站收到微博 Referer 会 403,不应统一 header。接口为公开非官方,平台可能随时调整;失败应 fail-closed 抛错,不应静默返回空列表,空榜与抓取失败是两回事。工具只读公开数据,不登录、不带账号 cookie。aihot 是 AI 圈资讯专用热榜,本工具为通用社媒热榜。