整合获取知乎、微博、B站、少数派、V2EX 等40+个网站的热点新闻

admin 2025年7月8日11:33:19评论13 views字数 1302阅读4分20秒阅读模式

🔥 HotNews API Service

一个基于 Flask 构建的开源新闻聚合接口平台,整合了知乎、微博、B站、少数派、V2EX 等多个网站的热门信息,可自动抓取、存入 SQLite 数据库,支持定时刷新与 Docker 部署。

✨ 项目特色

  • • 🌐 多平台热榜聚合(50+ 热门条目来源)
  • • 🧠 Flask + APScheduler 定时抓取
  • • 🗓 支持 SQLite 数据持久化(表名:hotnews
  • • ⚡ 支持并发刷新,提升爬取效率
  • • 🐳 提供 Docker 打包运行支持

📁 项目结构

Hotnews/├── api/                    # 所有数据源 API 蓝图│   ├── smzdm.py│   ├── weibo.py│   ├── zhihu.py│   └── ...├── savenews.py            # 数据写入 SQLite 的持久化逻辑├── refresh_all.py         # 并发刷新所有接口的任务逻辑├── app.py                 # 主应用入口(Flask + APScheduler)├── Dockerfile             # Docker 构建文件├── docker-compose.yml     # Docker Compose 管理脚本├── .env                   # 环境变量配置(如知乎 Cookie)└── news.db                # SQLite 本地数据库文件

🚀 快速启动

方式 1:本地运行

# 安装依赖pip install -r requirements.txt# 设置环境变量(.env 文件)ZHIHU_COOKIE=你的cookie# 启动应用python app.py

刷新消息接口:

GET http://127.0.0.1:5000/api/refresh_all

获取消息接口:

GET http://127.0.0.1:5000/api/hotnews

方式 2:Docker 启动

# 构建镜像docker compose build# 启动服务(端口默认为 8890)docker compose up -d

🧠 定时任务说明

通过 APScheduler 实现:

  • • 默认每小时自动执行一次 /api/refresh_all

可按需修改 app.py 中的定时配置:

scheduler.add_job(id='refresh_all_job', func=refresh_all_direct, trigger='interval', hours=1)

📦 数据库说明

使用 SQLite 数据库:news.db

数据表结构:hotnews

字段名
类型
说明
id
TEXT
唯一 ID
source
TEXT
来源名称
category
TEXT
分类(可选)
title
TEXT
标题
desc
TEXT
简介/摘要
cover
TEXT
封面图链接
author
TEXT
作者
hot
INTEGER
热度值
timestamp
INTEGER
发布时间戳
url
TEXT
PC 页面链接
mobile_url
TEXT
移动端链接

🧛‍♂️ 相关信息

  • • 开发者:Haoyu
  • • 微信:tomorrow_me-
  • • 项目地址:https://github.com/HaoY-l/Hotnews-pub

原文始发于微信公众号(安全info):整合获取知乎、微博、B站、少数派、V2EX 等40+个网站的热点新闻

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年7月8日11:33:19
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   整合获取知乎、微博、B站、少数派、V2EX 等40+个网站的热点新闻https://cn-sec.com/archives/4232062.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息