R - 網頁數據

安裝 R 套件

在我們深入探索 R 語言中的網頁數據世界之前,讓我們確保您已經擁有所有必需的工具。第一步是安裝所需的套件。在本教程中,我們將使用 rvest 套件,這是一個在 R 語言中進行網頁抓取的流行選擇。要安裝它,請打開您的 R 環境並運行以下命令:

R - Web Data

install.packages("rvest")

安裝完成後,您可以通過運行以下命令將套件載入當前會話:

library(rvest)

輸入數據

現在我們的工具已經準備好了,讓我們討論我們將要處理的數據類型。網頁數據指的是在互聯網上可用的信息,如文字、圖像、鏈接等。在本教程中,我們將專注於從網站中提取文本數據。

為此,我們需要知道我們要抓取的網站的 URL。例如,假設我們想要從一個新聞網站中提取文章標題。我們將從識別網站主頁或文章列表所在特定部分的 URL 開始。

範例

讓我們創造一個範例,我們從一個假設的新聞網站中抓取文章標題。我們將使用 rvest 套件中的 read_html() 函數下載網站的 HTML 內容,然後使用 CSS 選擇器提取所需的信息。

首先,讓我們定義網站的 URL:

url <- "https://www.examplenews.com/articles"

接下來,我們將讀取網站的 HTML 內容:

webpage <- read_html(url)

現在,我們有了 HTML 內容,我們可以使用 CSS 選擇器定位包含文章標題的元素。讓我們假設每個文章標題都被包裹在一個帶有 article-title 類的 <h2> 標籤中。我們可以使用 html_nodes() 函數提取這些標題:

titles <- webpage %>%
html_nodes("h2.article-title") %>%
html_text()

html_nodes() 函數接受兩個參數:CSS 選擇器和 HTML 內容。在這個例子中,我們正在尋找帶有 article-title 類的 <h2> 標籤。html_text() 函數提取這些節點的文本內容。

驗證文件下載

為了確保我們的代碼正常工作,讓我們將提取的標題打印到控制台:

print(titles)

如果一切設置正確,您應該會在控制台上看到列出的文章標題。這只是一個基本範例,您可以通過學習更多關於 CSS 選擇器和 rvest 套件提供的其他函數來擴展它,從網站中提取不同類型的數據。

請記住,網頁抓取應始終負責任且符合道德。總是檢查網站的服務條款和 robots.txt 文件,以確保您被允許抓取他們的內容。此外,如果您不確定是否允許抓取,請考慮聯繫網站管理員。

總結來說,使用 R 進行網頁抓取可以是從互聯網提取寶貴信息的強大工具。通過遵循本教程中概述的步驟,您現在應該有了使用 R 探索網頁數據提取的堅實基礎。開心抓取!

Credits: Image by storyset