【问题标题】:Webscraping Returns xml_nodeset 0 in RWebscraping 在 R 中返回 xml_nodeset 0
【发布时间】:2019-09-23 08:16:15
【问题描述】:

我正在尝试抓取此网站。 https://web.tmxmoney.com/earnings.php?qm_symbol=DOL 特别是屏幕底部的表格。 我尝试了无数的 CSS 和 XPath,但仍然得到 {xml_nodeset(0)}。我正在寻找一个直观的答案,而不仅仅是代码。

这是我的一些尝试。

library(httr)
library(rvest)
library(dplyr)

tbl = read_html('https://web.tmxmoney.com/earnings.php?qm_symbol=DOL')%>%
               html_nodes("table").[2]%>%html_table(fill = T)#no luck

tbl = read_html('https://web.tmxmoney.com/earnings.php?qm_symbol=DOL')%>%
               html_nodes(xpath = '//*[@id="DataTables_Table_0"]')%>%html_table(fill = T)#node set(0)

我已经尝试了无数其他方法,使用选择器小工具并检查源代码。

【问题讨论】:

标签: r web-scraping rvest httr


【解决方案1】:

我没有查看完整的服务条款,因此请注意,抓取可能不合法。 以下应该可以解决问题:

library(rvest)
library(data.table)
library(httr)
library(XML)
library(RSelenium)

mybrowser <- rsDriver(browser = 'firefox') 

link <- "https://web.tmxmoney.com/earnings.php?qm_symbol=DOL"
mybrowser$client$navigate(link)

mybrowser$client$findElement(using = 'css selector', "#DataTables_Table_0")$getElementText()

html.table <-  mybrowser$client$findElement(using = 'css selector', "#DataTables_Table_0") 
webElem5txt <- html.table$getElementAttribute("outerHTML")[[1]]
df.table <- read_html(webElem5txt) %>% html_table() %>% data.frame(.)

mybrowser$server$stop()
# Excerpt of the data:
 > df.table
Var.1      Quarter.End        X..EPS.Actual X..EPS.Estimate X..Estimates X..Surprise X..Surprise.1       Date
1     NA 2019-07-31 (Q2 2020)          0.45            0.47            3       -0.02        -4.26% 2019-09-12
2     NA 2019-04-30 (Q1 2020)          0.33            0.33            4        0.00         0.00% 2019-06-13
3     NA 2019-01-31 (Q4 2019)          0.54            0.55            4       -0.01        -1.82% 2019-03-28
4     NA 2018-10-31 (Q3 2019)          0.41            0.42            3       -0.01        -2.38% 2018-12-06
5     NA 2018-07-31 (Q2 2019)          0.43            0.44            3       -0.01        -2.27% 2018-09-13
6     NA 2018-04-30 (Q1 2019)          0.31            0.31            3        0.00         0.00% 2018-06-07
7     NA 2018-01-31 (Q4 2018)          0.48            0.47            4        0.01         2.13% 2018-03-29

【讨论】:

  • 谢谢汉尼斯!效果很好。我很想知道您对 Rselenium 的看法。我听别人说这很可怕。但这似乎效果很好!
  • 我不知道,我主要是使用工具来完成工作。我也没有那么多经验,我只是觉得远程控制网站超级酷;-):-)
猜你喜欢
  • 2019-12-24
  • 1970-01-01
  • 2018-03-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-29
  • 2021-10-30
相关资源
最近更新 更多