美文网首页
rvest包采集豆瓣TOP250书单

rvest包采集豆瓣TOP250书单

作者: 数据分析记录 | 来源:发表于2017-07-18 14:47 被阅读0次

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) #构建数据框

相关文章

网友评论

      本文标题:rvest包采集豆瓣TOP250书单

      本文链接:https://www.haomeiwen.com/subject/wkkqkxtx.html