Veg*_*ird 9 html css r web-scraping rvest
我正在尝试使用rvest包来从网页中抓取数据.在一个简单的格式中,html代码如下所示:
<div class="style">
<input id="a" value="123">
<input id="b">
</div>
Run Code Online (Sandbox Code Playgroud)
我想从第一个输入中获取值123.我尝试了以下R代码:
library(rvest)
url<-"xxx"
output<-html_nodes(url, ".style input")
Run Code Online (Sandbox Code Playgroud)
这将返回一个输入标签列表:
[[1]]
<input id="a" value="123">
[[2]]
<input id="b">
Run Code Online (Sandbox Code Playgroud)
接下来我尝试使用html_node通过id引用第一个输入标记:
html_node(output, "#a")
Run Code Online (Sandbox Code Playgroud)
这里它返回了一个空值列表,而不是我想要的输入标签.
[[1]]
NULL
[[2]]
NULL
Run Code Online (Sandbox Code Playgroud)
我的问题是,如何使用其id引用输入标记?
Ren*_*rop 21
你可以使用xpath:
require(rvest)
text <- '<div class="style">
<input id="a" value="123">
<input id="b">
</div>'
h <- read_html(text)
h %>%
html_nodes(xpath = '//*[@id="a"]') %>%
xml_attr("value")
Run Code Online (Sandbox Code Playgroud)
获取css-和xpath-selector的最简单方法是使用http://selectorgadget.com/.对于像您这样的特定属性,使用chrome的开发人员工具栏来获取xpath,如下所示:

| 归档时间: |
|
| 查看次数: |
19356 次 |
| 最近记录: |