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) #构建数据框
网友评论