Web Scraping,提取页面表

时间:2017-01-10 21:56:33

标签: r web-scraping rvest

我已经提取了表格" R.U.T"和" Entidad"页面

http://www.svs.cl/portal/principal/605/w3-propertyvalue-18554

我制作了以下代码:

library(rvest)
    #put page
    url<-paste("http://www.svs.cl/portal/principal/605/w3-propertyvalue-18554.html",sep="")
     url<-read_html(url)
    #extract table

table<-html_node(url,xpath='//*[@id="listado_fiscalizados"]/table') #xpath
table<-html_table(table)

#transform table to data.frame
table<-data.frame(table)

但是R告诉我以下结果:

> a
{xml_nodeset (0)}

也就是说,它没有识别表,也许是因为表有超链接?

如果有人知道如何提取表格,我将不胜感激。 非常感谢,对不起我的英语。

2 个答案:

答案 0 :(得分:2)

它向另一个用于制作表的资源发出XHR请求。

 14.00 -> Python 3.5, 3.6???
 10.00 -> Python 3.3, 3.4
  9.00 -> Python 2.6, 2.7, 3.0, 3.1, 3.2

您可以在任何现代浏览器中使用开发人员工具来监控网络请求以查找该网址。

答案 1 :(得分:1)

这是使用RSelenium的答案:

# Start Selenium Server
RSelenium::checkForServer(beta = TRUE)
selServ <- RSelenium::startServer(javaargs = c("-Dwebdriver.gecko.driver=\"C:/Users/Mislav/Documents/geckodriver.exe\""))
remDr <- remoteDriver(extraCapabilities = list(marionette = TRUE))
remDr$open() # silent = TRUE
Sys.sleep(2)

# Simulate browser session and fill out form
remDr$navigate("http://www.svs.cl/portal/principal/605/w3-propertyvalue-18554.html")
Sys.sleep(2)
doc <- htmlParse(remDr$getPageSource()[[1]], encoding = "UTF-8")

# close and stop server
remDr$close()
selServ$stop()

tables <- readHTMLTable(doc)
head(tables)