前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >澎湃新闻网站全站新闻爬虫及各大新闻平台聚合爬虫发布

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

作者头像
月小水长
发布2021-01-29 14:18:06
2K0
发布2021-01-29 14:18:06
举报
文章被收录于专栏:月小水长月小水长

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+ 环境)

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

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

爬取过程中是下面这样的

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

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

Todo

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

阅读原文 即可直达 project 的 Github 地址。

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-01-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 月小水长 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • idea of startproject
  • 澎湃新闻爬虫
  • Todo
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档