R语言 网站数据获取 (rvest) |
您所在的位置:网站首页 › 抓取网页中的文字 › R语言 网站数据获取 (rvest) |
都说Python爬虫功能强大,其实遇到动态加载或者登陆网站Python还是很困难,对于大部分的一些普通爬虫,R语言还是很方便。这里介绍R语言rvest包爬虫,主要用到函数:read_html()、html_nodes()、html_text()和html_attrs()。
rvest: Easily Harvest (Scrape) Web Pages (轻松获取网页) CRAN - Package rvest (r-project.org) tidyverse/rvest: Simple web scraping for R (github.com)
首先,安装 rvest install.packages("rvest")
安装好后就可以使用了 library(rvest)函数作用 read_html() 读取 html 页面 html_nodes() 提取所有符合条件的节点 html_node() 返回一个变量长度相等的list,相当于对html_nodes()取[[1]]操作 html_table() 获取 table 标签中的表格,默认参数trim=T,设置header=T可以包含表头,返回数据框 html_text() 提取标签包含的文本,令参数trim=T,可以去除首尾的空格 html_attrs(nodes) 提取指定节点所有属性及其对应的属性值,返回list html_attr(nodes,attr) 提取节点某个属性的属性值 html_children() 提取某个节点的孩子节点 html_session() 创建会话
举例参考: 1、上证综指成份股列表爬取网站: 上海证券交易所_上证综合指数成分股列表 (sse.com.cn) http://www.sse.com.cn/market/sseindex/indexlist/s/i000001/const_list.shtml
利用Chrome浏览器的功能先获取表格所在页面部分的xpath, 办法是鼠标右键单击表格开头部分, 选择“检查”(inspect), 这时会在浏览器右边打开一个html源代码窗口, 当前加亮显示部分是表格开头内容的源代码,将鼠标单击到上层的处, 右键单击选择“Copy-Copy XPath”, 得到如下的xpath地址:'//*[@id="content_ab"]/div[1]/table'。 然后, 用rvest的 html_nodes()函数提取页面中用xpath指定的成分, 用 html_table()函数将HTML表格转换为数据框, 结果是一个数据框列表, 因为仅有一个, 所以取列表第一项即可。 library(rvest) ## 网页地址 urlb |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |