当前位置:首页>python>Python澎湃新闻搜索爬虫:监听接口,10分钟爬取热点舆情数据(附源码)

Python澎湃新闻搜索爬虫:监听接口,10分钟爬取热点舆情数据(附源码)

  • 2026-10-11 06:25:09
Python澎湃新闻搜索爬虫:监听接口,10分钟爬取热点舆情数据(附源码)

做舆情分析、写行业周报,最头疼的就是找不到权威数据源。

澎湃新闻作为国内头部时政媒体,数据权威、更新快,但网页端无限滚动加载,根本没法一键复制。

今天不讲废话,只讲核心思路:

监听 search/web/news 接口,把澎湃全站搜索结果“搬”进 Excel。


核心逻辑

输入关键词 → 打开澎湃搜索页 → 监听接口 → 滚动加载 → 清洗 HTML → 写入 CSV。

全程无 Selenium,无 JS 逆向,适合新手。

关键代码

1. 监听接口(核心)

dp.listen.start('search/web/news')dp.get(f'https://www.thepaper.cn/searchResult?id={keyword}')

👉 澎湃的搜索结果是Ajax 动态加载,直接监听接口比解析 DOM 稳得多。

2. 滚动触发加载

dp.scroll.to_bottom()resp = dp.listen.wait(timeout=8)

👉 澎湃用的是无限滚动,滚到底才会触发下一次请求。

3. 清洗 HTML(很重要)

澎湃返回的标题和摘要里自带 HTML 标签

def clean_html(text):    return re.sub(r'<.*?>', '', text or '')

👉 不清洗,CSV 里全是 <em>、<span>,没法看。

4. 标签拼接

tags = ' '.join(tag.get('tag','') for tag in item.get('tagList',[]))

👉 把数组变成字符串,方便后续做词频统计。


你能拿到什么数据?

除了常规的标题、摘要、发布时间,你还能拿到:

  • 点赞数 / 互动数:判断文章热度

  • 栏目名称:看内容归属(时政、财经、文化…)

  • 标签集合:做舆情关键词分析

  • 音视频地址:不只是图文,连直播、音频都能抓

  • 是否置顶 / 关评:判断媒体态度

这些数据,拿来画舆情走势图、做热点事件复盘,非常合适。


为什么这个方法稳?

  1. 接口稳定:search/web/news 是官方搜索接口,字段长期稳定。

  2. 不怕前端改版:只要接口不改,网页怎么换皮都不影响。

  3. 数据全:图文、视频、音频、直播,一网打尽。


常见坑位提醒(省你1小时)

  • ❗ 搜索结果为 0:澎湃搜索页 URL 是 id= 而不是 q=,直接拼中文会失效,建议先用浏览器手动搜一次,复制 URL 中的参数。

  • ❗ 滚动无效:澎湃有时需要多次 scroll.to_bottom() 才能触发接口。

  • ❗ 字段缺失:部分老文章没有 nodeInfo 或 tagList,一定要用 .get(),否则直接报错。


延展玩法

  • 舆情日报:定时跑脚本,每天拉一次关键词数据,自动生成热点榜单。

  • 事件复盘:比如“某地暴雨”“某政策出台”,拉一周数据,看传播趋势。

  • 媒体对比:同一事件,对比澎湃、新华网、财新的报道角度。


💡 划重点

爬虫不是拼代码长度,而是拼谁能更快找到接口、更稳地清洗数据。

这一篇,本质上是教你如何爬“搜索结果页”——这个思路,换到知乎、微博、B站,几乎通用。

完整代码及字段说明已整理,关注后回复“澎湃新闻”获取。

(注:仅供学习交流,请勿高频请求,遵守澎湃新闻 Robots 协议)

最新文章

随机文章