開啟 RSS 密道的初衷 那天,我們在討論如何快速收集海量新聞時,無意間發現 Google News 提供的 RSS 功能就像一條隱藏的捷徑。這條捷徑並非一般人手機、電腦上常用的新聞推播,而是基於開放標準的資訊分發管道。對於想要系統化蒐集新聞的我們來說,RSS 就像從地圖上挖出了一條秘密通道,能讓我們不必再一條條打開網站。 當我們第一次點入 RSS 的連結,映入眼簾的是一長串 XML 格式的內容,裡頭包含著最新的標題、摘要、連結與發佈時間。雖然對一般使用者而言顯得有些「科學怪人」,但對資深的數據偵探來說,這些條目就是每天新鮮出爐的「情報清單」。於是,我們決定用程式自動去讀這份清單,替後續的大規模分析打下基礎。 更妙的是,RSS 這條密道還有一個好處:它不需要登入、沒有人機介面互動,就能定時更新。只要我們把 RSS 的網址丟到程式中,它便會在固定間隔自動拉取最新條目。如此一來,我們不必再手動刷網頁,也能將所有符合關鍵字的新聞一網打盡,讓自動化腳本化身最貼心的「情報小幫手」。 RSS 的力量:從資訊洪流中擷取重點 在正式投入程式撰寫之前,我們先思考了一件事:每天媒體發出的新聞量龐大,要是從各個網站手動複製標題和連結,肯定力不從心。RSS 的出現,就像在資訊洪流中架設了一台水車,只要你預先定義好水車的濾網,源源不絕的資料就會被自動收集下來。 接著,我們將這條 RSS 線路視為「每日固定包裹」,包裹裡裝著符合「台灣警政」等條件的文章摘要。每次程式啟動,它就會向那條管道發訊號,取回最新的條目列表。從 JSON 轉成 DataFrame,再把每一列的 link 欄位存入清單,就是我們蒐集工作的第一步。這樣的做法不僅穩定,也避免了直接爬取所有媒體首頁所帶來的反爬風險。 值得一提的是,RSS 還能大幅減少網路流量與運算負擔。一般爬蟲要下載整頁 HTML,解析後再擷取標題與摘要,十分耗時。使用 RSS,我們只需要處理輕量化的 XML 結構,就能把重點欄位提取出來,真正做到「按需取材」,讓程式運行更有效率,也能更快地進入下一個分析階段。 when="1y" 的陷阱:粗篩無法滿足需求 帶著對 RSS 的信心,我們首先嘗試了 pygooglenews 套件提供的 when="1y" 參數,想要一次抓取過去一整年的新聞。理論上,一年內所有與警政...
Comments
Post a Comment