R语言中rvest包爬虫代码+讲解

  • rvest包
    • 确定节点
    • R爬虫示例:爬取当当网销量数据

rvest包

R语言中有许多用于爬取数据的包,本篇文章主要讲解rvest包的使用。首先讲解rvest包中的主要函数。
1.read_html():用于读取html(文档)的函数;
2.html_nodes():用于选取文档中指定的元素、节点的部分;
3.html_text():用于提取标签中的文本;
4.html_attrs():用于提取属性名称及其内容。

使用rvest包爬取数据简单易懂,本篇文章详解了节点确认并用示例加深印象,非常适合爬虫小白入手。

确定节点

用rvest包对网页数据进行爬取时,爬取的难点及重点都是如何确认html_nodes函数中的节点参数,为节省爬取数据的时间和精力,我们应该借助强大的谷歌插件CSS生成器——Selectorgadget插件,它有助于我们快速找到html的节点信息,所以本篇文章会详细讲解如何准确确认节点。
1.工具:Selectorgadget插件

2.下载方式:可参照我上一篇博客,直接下载,压缩包内附有安装步骤

3.使用方式:

(1)打开一个网页,如dangdang
(2)开启SelectorGadget(点击一个放大镜图案的按钮即可);
移动鼠标箭头到一个页面元素上并单击,该页面元素会变成绿色,SelectorGadget的文本框内显示出被选中页面元素的css path类型的定位字符串。“clear”按钮可以清空定位字符串,“clear”按钮中的数字是指定位字符串可以匹配的页面元素个数,其它具有相同定位字符串的页面元素都将变为黄色。单击这些黄色的页面元素,这些元素变为红色,表示剔除它们,用这种方式不断改变定位字符串,最终生成被选中元素的特有的定位字符串。

R爬虫示例:爬取当当网销量数据

运用R语言爬取当当网的销量排行等信息,并把数据保存在E盘csv文件中。

```#爬取当当网数据,成功自己实现
library(rvest)
library(stringr)
url <- "http://bang.dangdang.com/books/bestsellers/01.00.00.00.00.00-recent7-0-0-1-1"
web <- read_html(url, encoding = "gbk")#排行
rank <- web %>% html_nodes(".list_num") %>% html_text() %>% as.numeric()#书名
title <- web %>% html_nodes(" .name a") %>% html_text()#作者
writer <- web %>% html_nodes(".publisher_info a:nth-child(1)") %>% html_text()#价格
price <- web %>% html_nodes("p:nth-child(1) .price_n") %>% html_text() %>%str_match("[0-9]{2}.[0-9]{2}")%>%as.numeric()#出版日期
date <- web %>% html_nodes(".publisher_info span") %>% html_text() %>% as.Date()#出版地址
publication_company <- web %>% html_nodes(".publisher_info span+ a") %>% html_text()#折扣
discount <- web %>% html_nodes(".price_s") %>% html_text()#推荐率
tuijian <- web %>% html_nodes(".tuijian") %>% html_text() %>%str_match("[0-9]*") %>% as.numeric()#??str_match的用法??#图书网址
webpage <- web %>% html_nodes(".name a") %>% html_attr("href")#网址就是书名中带有的链接
#提取属性特征即可#生成数据框
data <- data.frame(rank, title, writer, price,publication_company, date,discount,tuijian, webpage)
write.csv(data,file="E:/gdangshuju.csv")#将爬取的数据存入E盘中的dangdangshuju文件中,R会自动生成这个文件,不需要自己重新创建

R语言中rvest包爬虫代码+示例讲解(爬取当当网)相关推荐

  1. Python爬虫实战+Scrapy框架 爬取当当网图书信息

    1.环境准备 1.在python虚拟环境终端使用 pip install scrapy下载scrapy依赖库 2.使用scrapy startproject book创建scrapy心目工程 3.使用 ...

  2. 在当当买了python怎么下载源代码-爬虫实战一:爬取当当网所有 Python 书籍

    图片来自 unsplash 我们已经学习 urllib.re.BeautifulSoup 这三个库的用法.但只是停留在理论层面上,还需实践来检验学习成果.因此,本文主要讲解如何利用我们刚才的几个库去实 ...

  3. python爬虫爬当当网_爬虫实战一:爬取当当网所有 Python 书籍

    本文转载自微信公众号[ 极客猴 ],作者知乎主页 此前错误标注来源导致侵权,在此表示歉意. 我们已经学习 urllib.re.BeautifulSoup 这三个库的用法.但只是停留在理论层面上,还需实 ...

  4. 请用Python写一个爬虫程序,爬取当当网图书畅销榜数据

    好的,下面是一个简单的 Python 爬虫代码,可以爬取当当网图书畅销榜数据: import requests from bs4 import BeautifulSoupurl = "htt ...

  5. Python 爬虫第三步 -- 多线程爬虫爬取当当网书籍信息

    XPath 的安装以及使用 1 . XPath 的介绍 刚学过正则表达式,用的正顺手,现在就把正则表达式替换掉,使用 XPath,有人表示这太坑爹了,早知道刚上来就学习 XPath 多省事 啊.其实我 ...

  6. Python爬虫 在线爬取当当网畅销书Top500的图书信息

    本实例还有另外的离线爬虫实现,有兴趣可点击离线爬取当当网畅销书Top500的图书信息 爬虫说明 1.使用requests和Lxml库爬取,(用BS4也很简单,这里是为了练习Xpath的语法) 2.爬虫 ...

  7. 在当当买了python怎么下载源代码-python爬虫爬取当当网

    [实例简介]python爬虫爬取当当网 [实例截图] [核心代码] ''' Function: 当当网图书爬虫 Author: Charles 微信公众号: Charles的皮卡丘 ''' impor ...

  8. 在当当买了python怎么下载源代码-爬虫实战:爬取当当网所有 Python 书籍

    来源:公众号-极客猴 出处: 本文主要讲解如何利用urllib.re.BeautifulSoup 这几个库去实战,爬取当当网所有 Python 书籍. 1 确定爬取目标 任何网站皆可爬取,就看你要不要 ...

  9. python爬虫06 | 你的第一个爬虫,爬取当当网 Top 500 本五星好评书籍

    来啦,老弟 我们已经知道怎么使用 Requests 进行各种请求骚操作 也知道了对服务器返回的数据如何使用 正则表达式 来过滤我们想要的内容 ... 那么接下来 我们就使用 requests 和 re ...

  10. python爬虫什么书好_python爬虫入门06 | 爬取当当网 Top 500 本五星好评书籍

    来啦,老弟 image 我们已经知道怎么使用 Requests 进行各种请求骚操作 也知道了对服务器返回的数据如何使用 正则表达式 来过滤我们想要的内容 - 那么接下来 我们就使用 requests ...

最新文章

  1. win7休眠设置在哪里_电脑休眠好不好?
  2. ASP.NET MVC3 301永久重定向实现程序
  3. 各版本windows操作系统获取地址,sqlserver全版本数据库工具下载网站分享
  4. 数据中台到底包括什么内容?一文详解架构设计与组成
  5. 利用MultipartFile实现文件上传
  6. 推荐6个好用到爆的Pycharm插件
  7. 把字符串中的数字找出来并按照升序排序
  8. 苏宁大数据怎么运营_运营商大数据精准获客
  9. 第三方软件要使用QQ邮箱进行发邮件相关设置
  10. Leetcode--17.电话号码的字母组合
  11. 以太坊代币事件监控_以太坊:什么是ERC20标准?
  12. 数据平台、大数据平台、数据中台……还分的清不?
  13. 【BZOJ1009】【codevs2325】GT考试,kmp+矩阵加速DP
  14. MySql的用户管理权限
  15. 二叉树:听说递归能做的,栈也能做!
  16. 每当Xcode升级之后,都会导致原有的Xcode插件不能使用,解决办法
  17. jenkins+testNG
  18. 集装箱校验码校验规则
  19. 定制一款铝合金型材的流程
  20. Mac 安装的虚拟机win10系统,设置拥有各自的桌面

热门文章

  1. 使用maven打包项目执行clean时报错clean报错Failed to clean project
  2. PHP第三方易宝支付对接
  3. 官方配置要求_《魔兽争霸3》重制版极客装机配置和官方要求配置
  4. 行为模型、价值模型、市场模型
  5. 通达oa 2013 php解密,通达OA 2011-2013 通杀GETSHELL修复补丁
  6. 这么狠,私塾在线架构师系列课程全都免费发放
  7. windows7 nmap 命令行版本
  8. 计算机一级excel 试题及答案,计算机一级excel考试试题及答案
  9. 第二章 Maven的安装和配置
  10. 数据库系统教程-面试汇总-合集