这是一个用于扣子(Coze)平台的新浪财经新闻爬取插件,可以根据股票代码查询相关的新浪财经新闻。
- 📰 根据股票代码查询新浪财经新闻
- 🔍 支持上海(sh)和深圳(sz)股票代码
- 📊 可自定义返回新闻数量(1-20条)
- 🚀 提供GET和POST两种请求方式
- ✅ 完整的错误处理和参数验证
pip install -r requirements.txtpython sina_news_plugin.py或者使用uvicorn:
uvicorn sina_news_plugin:app --host 0.0.0.0 --port 8000服务将在 http://localhost:8000 启动。
GET /
返回插件的基本信息。
GET /health
检查服务是否正常运行。
POST /news
请求体:
{
"symbol": "sh600000",
"limit": 5
}参数说明:
symbol(必填): 股票代码,格式:sh600000(上海)或sz000001(深圳)limit(可选): 返回新闻数量,默认5条,最大20条
响应示例:
{
"symbol": "sh600000",
"news_count": 5,
"articles": [
{
"title": "某公司发布重要公告",
"url": "https://vip.stock.finance.sina.com.cn/...",
"date": "2024-01-15"
}
]
}GET /news?symbol=sh600000&limit=5
参数说明:
symbol(必填): 股票代码limit(可选): 返回新闻数量
将服务部署到可公网访问的服务器上(如云服务器、Vercel、Railway等)。
修改 openapi.yaml 文件中的 servers 部分,将URL替换为你的实际部署地址:
servers:
- url: https://your-domain.com
description: 生产服务器- 登录扣子平台
- 进入插件管理页面
- 选择"创建插件" -> "OpenAPI插件"
- 上传
openapi.yaml文件或输入OpenAPI URL - 配置插件信息:
- 插件名称:新浪财经新闻
- 插件描述:爬取新浪财经新闻
- API地址:你的服务地址
- 保存并测试
在扣子对话中,可以这样使用:
查询股票代码sh600000的最新5条新闻
或者:
获取sz000001的财经新闻,返回10条
- 上海股票:
sh+ 6位数字,例如sh600000 - 深圳股票:
sz+ 6位数字,例如sz000001
- 请确保服务可以访问新浪财经网站
- 建议添加适当的请求频率限制,避免被封IP
- 新浪财经网站结构可能会变化,如遇到问题请及时更新解析逻辑
- 生产环境建议使用HTTPS
插件会返回以下错误码:
400: 请求参数错误(如股票代码格式不正确)404: 未找到相关新闻500: 服务器内部错误(如网络请求失败、解析失败等)
- 使用 FastAPI 框架构建
- 使用 BeautifulSoup 解析HTML
- 支持异步请求(可扩展)
- 完整的类型提示和文档字符串
MIT License