R語言爬蟲:爬取包含所有R包的名稱及介紹


第一種方法

library("rvest")
page <- read_html("https://cran.rstudio.com/web/packages/available_packages_by_name.html")
pkg_table <- page %>% html_table(fill = T)  
class(pkg_table)
# 返回list,這個list應該包含了網頁中的所有table
# 但因為整個網頁就只有一個table,所以我們要找的表格就在第一個list中
pkg_table <- pkg_table %>% as.data.frame()
# 轉化為數據框才能數據進行缺失值處理
head(pkg_table)

第二種方法

pkg_table <- page %>% html_node('table') %>% html_table(fill=TRUE) 
class(pkg_table)
# 返回數據框
# 由於原表格沒有表頭(沒有<th>標簽),因此數據框使用默認的表頭X1,X2代替
# 使用fill=T,會自動填補行列中的缺失值,比如這里的第一行
dim(pkg_table)
# 刪除缺失值
pkg_table <- pkg_table[complete.cases(pkg_table), ]
# 定義表頭
colnames(pkg_table) <- c("name","title")
head(pkg_table,3)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM