在R中使用html_nodes()排除注释

时间:2019-02-28 09:25:57

标签: r web-scraping rvest

我正在使用R中的With PrintVersion.Range("Print_Area") With .Cells.Rows .WrapText = True .VerticalAlignment = xlCenter .EntireRow.AutoFit End With End With 包抓取股票价格。我想在使用rvest时排除节点。

以下类别的股票价格出现在网站上: html_nodes()

现在,我只想包含[4] <span id="ctl00_ctl00_Content_LeftContent_IssueList_StockList_repIssues_ctl02_DifferenceBlock_lblRelativeDifferenceDown" class="ValueDown">-0,51%</span> [5] <span id="ctl00_ctl00_Content_LeftContent_IssueList_StockList_repIssues_ctl02_ctl02_lblDifference" class="ValueDown Difference">-51%</span>之后的文本,而我想排除class="ValueDown"之后的文本。

为此,我使用以下代码:

class="ValueDown Difference"

但是,这给了我-0,51%和-51%的值。有没有办法用urlIEX <- "https://www.iex.nl/Koersen/Europa_Lokale_Beurzen/Amsterdam/AMX.aspx" webpageIEX <- read_html(urlIEX) percentage_change <- webpageIEX %>% html_nodes(".ValueDown") %>% html_text() 包含所有内容而用class="ValueDown"排除所有内容?

1 个答案:

答案 0 :(得分:1)

我不是专家,但是我认为您应该使用属性选择器:

percentage_change <- webpageIEX %>%
  html_nodes("[class='ValueDown']") %>%
  html_text()