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阅读 135,080评论 19 139
  • LVC讲道笔记 2016.4.17 两种选择:爱或恨to love or to hate 《约翰一书》3:11-1...
    含羞的红颜阅读 1,507评论 0 0
  • 题目链接:题目链接资源链接 分析:1.发现题目提示”请仔细看比赛说明”2.进入”比赛说明”,首先浏览一遍,并没有发...
    王一航阅读 1,692评论 0 1
  • 年少无知时说喜欢, 十指相扣,说:非你不可。 再后来, 阳光不再是那么明媚, 春风不再是那么轻柔, 你不再是你,我...
    无双子阅读 506评论 0 2
  • 今天更新两人头像,是一位漂亮妈妈和一枚可爱萌宝哦。为了更详细展示过程,更新步骤图片有点多,大家要有耐心看哈。 准备...
    多恩美术工作室阅读 1,149评论 5 6