
來源:Shutterstock
很多記者沒有注意到,在瀏覽器的右鍵菜單的“複製”和“另存為”功能下面還有一個“檢查元素”的選項。
但實際上,這個很少被記者使用的“檢查元素”的選項幫你從網站源代碼中挖掘出大量的隱藏信息,揭示出圖像背後的原始數據,並下載到一些沒有辦法直接保存的圖像和視頻。
對這個工具和 HTML 代碼的基礎知識也可以幫助你從任何網頁上抓取數據,而不需要你有任何電腦專業的背景。
在 IRE21 上,記者和培訓師薩曼莎·桑恩(Samantha Sunne)為幾乎沒有任何編碼經驗的記者分享了如何使用兩個簡單的工具——“檢查元素”工具和 Google 表格,從網頁上檢索和分析數據的技巧。
以下是使用這些工具從網頁上提取和分析數據的五種方法。
1. 檢查網站的源代碼,以提取鏈接、照片和嵌入內容
每個瀏覽器都在“開發工具”或“開發”選項卡中提供了一個網頁檢查工具。
“瀏覽器的工作原理是,讀取網頁‘源代碼’,並將讀取後的結果顯示給用戶,”桑恩解釋說。
在教學中,桑恩詳細介紹了“檢查元素”工具在不同瀏覽器上的顯示方式。例如,在 Safari 瀏覽器中,你可以右擊你想檢查的頁面區域,然後選擇”檢查元素“。
有了它,你就能找到嵌入到當前網頁中的所有鏈接和元素,你還可以閱讀替代文本(alt text)——一種用於描述頁面上圖像或其他元素的文本,其中可能包括圖像中的人名、拍攝的地點等等。
你可以參考 HTML 指南,找到識別嵌入圖片(<img src=”url”>)、鏈接(<a href=”url”>)或其他元素的代碼。
2. 從網站(甚至是Instagram)保存圖像和視頻
“使用網頁檢查工具,可以幫你找到許多很難找到或下載到的文件。”桑恩說。
“檢查元素”可以幫你找到網頁中的原始文件,甚至從 Instagram 等網站下載圖片或是哦,即使這些網站默認不允許你下載操作。只需要三個簡單的步驟就可以操作:
- 右擊你想下載的照片或視頻,選擇“檢查”,再進行頁面搜索(control/command + F),尋找”<video>”標籤,這個標籤常常會包住視頻地址原始地址。
- 網頁檢查器將找到源代碼中所有出現”<video>”的地方,然後將鼠標懸停在突出顯示的鏈接上,以找到前面有”src=”打頭的源鏈接。或者,你也可以看下網頁中所有的多媒體元素。
- 最後,點擊多媒體元素的原始鏈接,在新的瀏覽器標籤中打開它們,並通過右鍵下載。
3. 從不斷更新的電子表格中收集數據
你已經找到了一個對你的調查至關重要的數據庫,但它位於一個網頁上,你很難把數據下載成電子表格。這個時候你可以怎麼辦?
“直接複製粘貼是可以的。”桑恩說:“但你獲得的信息不是即時更新的,也無法提供額外的信息,例如說其中的超鏈接指向。”
這時,網頁檢查器再次派上了用場。有了它,你可以識別存儲在網頁上的數據類型,並將其導入 Google 工作表,然後以不同的方式進行分析或可視化。
在下面的例子中,我將使用網頁檢查器從歐洲疾病預防和控制中心抓取新冠疫情的狀況。
我們可以通過以下步驟來抓取表格數據:
- 在你想複製的表格或其他數據庫上點擊右鍵,選擇“檢查”,找出它是哪種HTML元素——常見的元素有表格(table)、子彈列表(ul)和鏈接(a)。
- 網頁檢查器將會高亮顯示出網頁上的元素,並顯示出相應的源代碼。
- 新建一個 Google 工作表,並在其中填入以下公式,寫上你想提取的元素——這個例子中是“表格”(table),如果你要提取的頁面上只有一個表,ID 將是0;如果有兩個,第二個表的ID將是1,以此類推。
=ImportHTML(“url”,“table”,”ID”)
- 當你輸入=ImportHTML的公式時,Google 工作表會給你提供了一個例子和解釋,說明這個公式的功能和它可以檢索的數據類型。
=ImportHTML(“https://www.ecdc.europa.eu/en/geographical-distribution-2019-ncov-cases”,“table”,0)
- Google 工作表將自動用從網頁上抓取的數據來填充這張表格,然後你可以根據需要組織、過濾和對數據進行可視化。
“這個公式是使用源代碼來嵌入表格,” 桑恩說。她在自己編寫的教程中對此做了更詳細的介紹。
4. 提取特定類型的數據
如果你要想搜索或抓取一個頁面上數據表中的數據,應該怎麼做呢?
你也可以通過使用 =ImportXML(“url”, “xpath_query”) 公式來實現。
桑恩解釋說:“XPATH 基本上就相當於一個頁面上的數據地址。你可以通過它檢索數據,即使數據還沒有被格式化,也能在網頁上生成一個整齊的表格。
在小組討論中,桑恩展示了一些有用的 XPATHs 例子,例如使用它來搜索在所有標題中包含特定國家名稱的標題。
如果想要追蹤你所調查的主題,也可以用這個公式從新聞網站爬取 URL 和標題。
=IMPORTXML(“url”,”//CLASS[contains(“country”)]”)
=IMPORTXML(“https://www.nytimes.com/section/world”,”//h2“) 可以把頁面中所有的“h2”(二級標題)元素抓取到 Google 工作表中。
=IMPORTXML(“https://www.nytimes.com/section/world”,”//h2[contains(.,’China’)]”) 將只抓取包含“China”一詞的 h2 元素。
例如,我們可以用這個方法爬取《紐約時報》國際版中所有包含“China”一詞的頭條。
- 檢查網頁,確定你要找的文本類型(”p”代表段落,”h1″代表一級標題,”h2″代表二級標題……)
- 在公式中插入你要找的單詞。
- 這樣,相關數據每天都會自動加載到你的谷歌工作表中。
5. 免費應用
如果上面這些還不能說服你學習一點 HTML,你仍然可以嘗試免費的瀏覽器擴展或應用程序,雖然它們可以自定義抓取/搜索的空間有限,但可以讓你省去寫代碼行和製作電子表格的麻煩。
桑恩推薦了以下這些應用:
- Parsehub: 一個能從任何網站抓取數據的桌面應用。由於其界面友好,不需要任何編碼知識就可以使用。還可以透過它將數據上傳到 Excel和 JSON,以及導入到 Google 表格和 Tableau 分析平台。
- Outwit: 除了他們的網頁抓取器,Outwit 還提了建立自定義的抓取器的服務。
- WebScraper: 對於那些不喜歡處理代碼的人來說,WebScraper 是一個簡單的解決方案,它能夠根據網站的結構和你想提取的數據點來建立一張站點地圖。
Smaranda Tolosano 為全球深度報道網管理翻譯及合作關係。她曾在摩洛哥為湯森路透基金會撰寫報道。