每天追热点是不是很累?打开微博、知乎一条条刷,刷着刷着就迷失了……
今天我们用 Python 写一个小脚本,自动抓取微博/知乎热搜榜,存成文本文件,每天定时运行,热点尽在掌握——还不用刷手机!
全程只用 Python 内置库 + 一个第三方库 requests,零基础也能跟上。
1
准备工作:安装依赖
只需安装一个库——requests,用来发送网络请求。打开终端(Windows 按 Win+R 输入 cmd)运行:
pip install requests
💡 已经安装过的同学可以跳过这步。不确定?在终端里输入 pip show requests,有输出就说明装好了。
2
核心代码:抓取知乎热榜
新建一个文件 hot_search.py,把下面的代码粘进去:
importrequestsimportdatetimeimportosdeffetch_zhihu_hot():"""抓取知乎热榜 Top 20""" url = "https://www.zhihu.com/api/v3/feed/topstory/hot-lists/total" headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)","Referer": "https://www.zhihu.com/", } resp = requests.get(url, headers=headers, timeout=10) resp.raise_for_status() data = resp.json() today = datetime.date.today().strftime("%Y-%m-%d") filename = f"热榜_{today}.txt"withopen(filename, "w", encoding="utf-8") as f: f.write(f"📋 知乎热榜 — {today}\n") f.write("=" * 40 + "\n\n")for i, item inenumerate(data["data"][:20], 1): title = item["target"]["title"] hot = item["detail_text"] f.write(f"#{i:02d} {title} ({hot})\n")print(f"✅ 已保存到 {filename}")if __name__ == "__main__": fetch_zhihu_hot()
运行方式:在终端里输入
python hot_search.py
运行成功后,当前文件夹会出现一个 热榜_2026-04-20.txt 文件,打开就能看到今天的 Top 20 热门话题!
3
进阶:让脚本每天自动跑
每天手动跑太麻烦?用 Windows 的「任务计划程序」设置定时任务,每早 8 点自动执行!
Step 1 — 打开任务计划程序
按 Win+S 搜索「任务计划程序」→ 点击打开
Step 2 — 创建基本任务
右侧点「创建基本任务」→ 名称填「每日热搜」→ 触发器选「每天」→ 时间设为 08:00
Step 3 — 设置程序路径
操作选「启动程序」→ 程序填 Python 路径(如 C:\Python\python.exe)→ 参数填脚本完整路径
# 不喜欢图形界面?也可以用 Python 内置的 schedule 库pip installscheduleimportschedule, timeschedule.every().day.at("08:00").do(fetch_zhihu_hot)whileTrue:schedule.run_pending()time.sleep(60) # 每分钟检查一次
📋 小结 & 动手练习
今天学到的核心知识:
🔹 requests.get() 发送 HTTP 请求,抓取网页数据🔹 resp.json() 把 JSON 格式的响应转成 Python 字典🔹 用 open() + f.write() 把结果存进文本文件🔹 用系统任务计划 / schedule 库实现定时自动化
✏️ 动手练习
把上面的代码运行一遍,然后试着修改一下:把保存格式从 .txt 改成 .csv,用 Excel 打开看效果。提示:把 f.write(f"#{i}...") 改成 f.write(f"{i},{title},{hot}\n") 试试!
🔮 下期预告
算法趣谈:二分查找——为什么猜数字只需 7 次?
明天见,带上你的好奇心 👋
奥饼饼智慧谷 · 兴趣编程 & 技术软件分享
2026-04-20