当前位置:首页>python>用 Python 搜索巨潮资讯公告:新手也能看懂的关键词公告抓取教程

用 Python 搜索巨潮资讯公告:新手也能看懂的关键词公告抓取教程

  • 2026-10-11 07:35:46
用 Python 搜索巨潮资讯公告:新手也能看懂的关键词公告抓取教程

戳上方蓝字“逻辑为金”关注我

前言

最近我在整理 A 股上市公司公告时,发现一个很实际的问题:

每天上市公司都会发布大量公告,如果只靠人工一个个打开搜索,效率非常低。尤其是我们想关注某个关键词,比如“华为”“算力”“机器人”“并购重组”“低空经济”等,就更需要一个工具帮我们先把相关公告筛出来。

这篇文章记录一次非常基础的 Python 实践:
通过巨潮资讯公告搜索接口,按关键词搜索上市公司公告,并把股票代码、股票名称、公告标题、发布时间、公告链接和内容摘要打印出来。

本文仅作为 Python 数据获取学习笔记,不构成任何投资建议。

一、我们想解决什么问题?

假设我想知道:

最近有哪些上市公司公告中提到了“华为”?

正常做法是打开巨潮资讯网站,然后输入关键词搜索。

但如果每天都要查,或者要同时查多个关键词,比如:

  • 华为
  • 英伟达
  • 算力
  • 半导体
  • 机器人
  • 数据中心
  • 并购重组

手动操作就会比较麻烦。

所以这次我们用 Python 做一件简单的事情:

自动请求巨潮资讯搜索结果,并把搜索到的公告信息打印出来。


二、运行效果先看一下

我搜索的关键词是:

searchkey = "华为"

运行后得到的部分结果如下:

代码:600156   股票名称: 华升股份
标题: 华升股份:湖南华升股份有限公司发行股份及支付现金购买资产并募集配套资金暨关联交易报告书(二次修订稿)摘要
时间: 1780070400000
URL: finalpage/2026-05-30/1225337463.PDF
内容摘要: 据华为技术有限公司《智能世界 2030》报告预测,2030 年全球每年新产生的数据总量将达 YB级别,

代码:002866   股票名称: 传艺科技
标题: 传艺科技:2026年度向特定对象发行A股股票预案
时间: 1780070400000
URL: finalpage/2026-05-30/1225338376.PDF
内容摘要: 作为全球笔记本电脑键盘第一梯队供应商,公司已与联想、华为、三星、华硕等头部品牌建立深度合作。

从这个结果可以看到,程序已经帮我们拿到了几个重要字段:

字段
含义
代码
上市公司股票代码
股票名称
上市公司简称
标题
公告标题
时间
公告发布时间
URL
公告 PDF 地址
内容摘要
关键词附近的部分内容

对于新手来说,这一步已经很有用了。
因为我们可以先快速知道:哪些公司公告里提到了某个关键词。

三、完整代码

下面是本次使用的基础版本代码。

importrequests

importjson

# 设置请求URL和请求头

url="http://www.cninfo.com.cn/new/fulltextSearch/full"

headers= {

"Accept": "application/json, text/javascript, */*; q=0.01",

"Accept-Encoding": "gzip, deflate",

"Accept-Language": "zh-CN,zh;q=0.9",

"Cookie": "insert_your_cookie_here",

"Host": "www.cninfo.com.cn",

"Proxy-Connection": "keep-alive",

"Referer": "http://www.cninfo.com.cn/new/fulltextSearch?notautosubmit=&keyWord=searchkey",

"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36",

"X-Requested-With": "XMLHttpRequest"

}

# 设置查询参数

params= {

'searchkey': '华为',

'sdate': '',

'edate': '',

'isfulltext': 'true',

'sortName': 'pubdate',

'sortType': 'desc',

'pageNum': 1

}

# 发送GET请求

response=requests.get(url, headers=headers, params=params)

# 确保请求成功

ifresponse.status_code==200:

# 解析JSON数据

data=response.json()

announcements=data.get('announcements', [])

forannouncementinannouncements:

# 打印我们需要的信息

print(f"代码:{announcement['secCode']}   股票名称: {announcement['secName']}")

print(f"标题: {announcement['announcementTitle']}")

print(f"时间: {announcement['announcementTime']}")

print(f"URL: {announcement['adjunctUrl']}")

print(f"内容摘要: {announcement['announcementContent']}\n")

else:

print("请求失败,状态码:", response.status_code)

免责声明:本文代码仅为学习交流之用
感谢阅读,如果觉得不错就点个赞和在看吧。

最新文章

随机文章