澎湃新聞網(wǎng)站全站新聞爬蟲及各大新聞平臺聚合爬蟲發(fā)布
? ? 點擊上方?月小水長?并?設(shè)為星標(biāo),第一時間接收干貨推送
idea of startproject
對于 web 開發(fā)者而言,目前各大新聞門戶網(wǎng)站,新浪新聞,百度新聞,騰訊新聞,澎湃新聞,頭條新聞并沒有提供穩(wěn)定可用的 feed api。
對于 nlper,缺乏足夠的新聞?wù)Z料數(shù)據(jù)集來供訓(xùn)練。
對于新聞傳播/社會學(xué)/心理學(xué)等從業(yè)者,缺乏獲取新聞數(shù)據(jù)的簡單易用途徑來供分析。
如果上面三點是某見識所限,其實并不存在的話,第 4 點,則是某的私心,某以為互聯(lián)網(wǎng)的記憶太短了,熱搜一浪蓋過一浪,所以試圖定格互聯(lián)網(wǎng)新聞的某些瞬間,最后會以網(wǎng)站的形式發(fā)布出來。
project 的 Github:https://github.com/Python3Spiders/AllNewsSpider
澎湃新聞爬蟲
全自動爬取澎湃新聞全站新聞內(nèi)容,包括時事、財經(jīng)、思想、生活四大 channel 。
速度較快,容錯高,對各種異常做了對應(yīng)處理,目前開源的 pyd 測試抓取 w 級數(shù)據(jù)正常(如果碰到新異常,請?zhí)?issue)。
字段齊全,包括 recode_time(該條新聞被抓取的時間)、news_url 以及其他各個新聞的必要字段,共計 12 個。
將倉庫 pengpai 文件夾下的 pengpai_news_spider.pyd 文件下載到本地,新建項目,把 pyd 文件放進去
項目根目錄下新建 runner.py,寫入以下代碼即可運行并抓取
import?pengpai_news_spider
pengpai_news_spider.main()

https://www.thepaper.cn/newsDetail_forward_10623559 可能是 h5 或者 公眾號文章或者 視頻之類的說明該條新聞不在我們的目標(biāo)爬取范圍內(nèi),不會被保存起來。澎湃新聞.xlsx文件,里面保持了四個 ?channel 的所有網(wǎng)站上可瀏覽的文本新聞,一個 channel 對應(yīng)一個 sheet_name,如下圖
Todo
實現(xiàn)增量更新,初步思路是使用布隆過濾器去 news_url 的重。
閱讀原文?即可直達 project 的 Github 地址。
最后,新年第一天,元旦快樂!
