澎湃新闻网站全站新闻爬虫及各大新闻平台聚合爬虫发布

idea of startproject

  1. 对于 web 开发者而言,目前各大新闻门户网站,新浪新闻,百度新闻,腾讯新闻,澎湃新闻,头条新闻并没有提供稳定可用的 feed api。
  2. 对于 nlper,缺乏足够的新闻语料数据集来供训练。
  3. 对于新闻传播/社会学/心理学等从业者,缺乏获取新闻数据的简单易用途径来供分析。
  4. 如果上面三点是某见识所限,其实并不存在的话,第 4 点,则是某的私心,某以为互联网的记忆太短了,热搜一浪盖过一浪,所以试图定格互联网新闻的某些瞬间,最后会以网站的形式发布出来。

这个 project 我几年前就有想法了,仓库两年前就推送到了 Github,只不过只有一个 readme 文件,昨晚跨年,清理 Github,这个想法就又强烈了起来,说干就干。

project 的 Github:https://github.com/Python3Spiders/AllNewsSpider

其实最开始并没有将澎拜新闻包括在内,某最近才开始重点关注澎湃新闻,相对于其它新闻的娱乐性,澎湃新闻的严肃活泼笔风,深得我意。

澎湃新闻爬虫

先说下这个爬虫的实用之处,罗列如下

  1. 全自动爬取澎湃新闻全站新闻内容,包括时事财经思想生活四大 channel 。
  2. 速度较快,容错高,对各种异常做了对应处理,目前开源的 pyd 测试抓取 w 级数据正常(如果碰到新异常,请提 issue)。
  3. 字段齐全,包括 recode_time(该条新闻被抓取的时间)、news_url 以及其他各个新闻的必要字段,共计 12 个。

再说说如何使用(默认读者均有 python3.6+ 环境)

  1. 将仓库 pengpai 文件夹下的 pengpai_news_spider.pyd 文件下载到本地,新建项目,把 pyd 文件放进去

  2. 项目根目录下新建 runner.py,写入以下代码即可运行并抓取

    import pengpai_news_spider
    pengpai_news_spider.main()
    

爬取过程中是下面这样的

在这里插入图片描述

图中 https://www.thepaper.cn/newsDetail_forward_10623559 可能是 h5 或者 公众号文章或者 视频之类的说明该条新闻不在我们的目标爬取范围内,不会被保存起来。

爬取结束了,会在当前目录下生成一个 澎湃新闻.xlsx文件,里面保持了四个 channel 的所有网站上可浏览的文本新闻,一个 channel 对应一个 sheet_name,如下图

在这里插入图片描述

Todo

实现增量更新,初步思路是使用布隆过滤器去 news_url 的重。

最后,新年第一天,元旦快乐!

### 关于小米澎湃OS的详细介绍 #### 澎湃OS的功能设计与特性 小米的澎湃OS是一款专注于优化用户体验的操作系统,其核心设计理念在于提升设备性能的同时提供更灵活的配置选项。特别是在蜂窝网络调试方面,5G-A特性中心的设计体现了高度模块化的特点[^1]。通过将【载波聚合】功能独立成页,不仅便于用户操作,还为未来可能扩展的新功能预留了空间。 此外,澎湃OS在后端开发过程中也引入了许多现代化C++技术来增强系统的稳定性和效率。例如,在资源管理上采用了`std::shared_ptr`这种基于引用计数的智能指针机制,从而有效避免了传统裸指针带来的内存泄漏风险[^2]。 以下是关于澎湃OS的一些具体特性和下载方式: --- #### 主要特性概述 1. **蜂窝网络高级调试支持** - 提供专门针对5G-A(Advanced)特性的定制化界面,允许用户轻松调整诸如载波聚合等功能。 - 这种设计既满足了普通用户的日常需求,也为开发者提供了深入探索硬件潜力的机会。 2. **智能化资源共享方案** - 利用现代C++中的`std::shared_ptr`实现高效内存管理,减少冗余计算并提高程序运行速度。 3. **跨平台兼容性改进** - 针对不同型号的小米手机进行了深度适配,确保每款机型都能发挥最佳表现。 4. **安全性加强** - 新增多项隐私保护措施,进一步巩固用户数据的安全屏障。 --- #### 如何获取/下载澎湃OS? 目前官方并未公开完整的ROM包供众自由下载,但可以通过以下途径体验最新版本: - 访问小米社区论坛,寻找测试版固件发布帖; - 参加MIUI内测计划,申请成为首批试用者; - 如果你是开发者,则可以直接联系小米团队索取相关资料和技术文档。 需要注意的是,刷入第三方或未授权的固件可能会导致保修失效甚至永久损坏设备,请务必谨慎行事! --- ```cpp // 示例代码展示如何创建和使用std::shared_ptr #include <memory> #include <iostream> int main() { auto sharedPtrExample = std::make_shared<int>(10); std::cout << *sharedPtrExample << std::endl; // 创建另一个指向相同对象的shared_ptr实例 auto anotherSharedPtr = sharedPtrExample; return 0; } ``` 上述代码片段展示了`std::shared_ptr`的实际应用案例,这正是澎湃OS内部所采用的技术之一。 ---
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

月小水长

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值