rvest包采集豆瓣TOP250書單

1. ?read_html(url, encoding = "") 下載html頁面, url為網址,encoding為網址編碼

2. ?html_form(x) 解析網頁的表單信息

eg: box_office <- read_html("http://www.boxofficemojo.com/movies/?id=ateam.htm")

? ? ? box_office %>% html_node("form") %>% html_form()

3. ?html_nodes(x, css, xpath)

? ? ?html_node(x, css, xpath) ?從html文件中選取標簽

? ? ?CSS 選擇器參考手冊 http://www.w3school.com.cn/cssref/css_selectors.asp

4. html_text(x) 讀取文本內容

5. html_attr(x)讀取屬性值


library(rvest) #導入rvest包

num <- seq(0, 225, by = 25) #構建0, 25,50,...,225的向量

info <- c()#初始化向量,用于存儲書籍信息

bookname <- c()#初始化向量,用于存儲書名

info1 <- c()#初始化向量,用于存儲循環采集到某一頁的書籍信息

bookname1 <- c()#初始化向量,用于存儲循環采集到某一頁得書名

for(i in num){

url <- paste0("https://book.douban.com/top250?start=",i) ?#構建采集網址

webpage <- read_html(url) #下載網頁內容

info1 <- html_nodes(webpage, "p[class='pl']") %>% html_text() #讀取書籍信息

bookname1 <- html_nodes(webpage, "div[class='pl2'] a") %>% html_text() #讀取書名

info <- c(info, info1) #新采集到的書籍信息,追加到info向量后

bookname <- c(bookname, bookname1) #新采集到的書名信息,追加到bookname向量后

}

topbook250 <- data.frame(bookname, info) #構建數據框

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,977評論 19 139
  • LVC講道筆記 2016.4.17 兩種選擇:愛或恨to love or to hate 《約翰一書》3:11-1...
    含羞的紅顏閱讀 1,491評論 0 0
  • 題目鏈接:題目鏈接資源鏈接 分析:1.發現題目提示”請仔細看比賽說明”2.進入”比賽說明”,首先瀏覽一遍,并沒有發...
    王一航閱讀 1,689評論 0 1
  • 年少無知時說喜歡, 十指相扣,說:非你不可。 再后來, 陽光不再是那么明媚, 春風不再是那么輕柔, 你不再是你,我...
    無雙子閱讀 504評論 0 2
  • 今天更新兩人頭像,是一位漂亮媽媽和一枚可愛萌寶哦。為了更詳細展示過程,更新步驟圖片有點多,大家要有耐心看哈。 準備...
    多恩美術工作室閱讀 1,145評論 5 6