0
我是新來的網絡抓取在R和最近碰到一個問題,參考JavaScript的網站。我正在嘗試從下面的網頁中抓取數據,但未成功。我相信JavaScript鏈接阻止我訪問表。結果帶有函數「readHTMLTable」的R包「XML」變爲空。使用JavaScript從R刮取頁面
library(XML)
library(RCurl)
url <- "http://votingrights.news21.com/interactive/movement-voter-id/index.html"
tabs <- getURL(url)
tabs <- htmlParse(url)
tabs <- readHTMLTable(tabs, stringsAsFactors = FALSE)
如何訪問JavaScript鏈接以獲取數據?或者這甚至有可能?當使用數據的直接鏈接(下面)和R包「rjson」時,我仍然無法讀取數據。
library("rjson")
json_file <- "http://votingrights.news21.com/static/interactives/movement/data/fulldata.js"
lines <- readLines(json_file)
json_data <- fromJSON(lines, collapse="")
謝謝!我以前曾嘗試過這種方法,但是我錯過了將「......」分開的步驟。出來,所以無法讓它工作。該解決方案運行良好。然而,我想知道是否有一個軟件包可以讀取這種類型的腳本,而不必每次都手動擦洗內容... – 2014-12-06 02:09:25
您可以使用Selenium並直接訪問JavaScript數據。請參閱http://cran.r-project.org/web/packages/RSelenium/index.html – jdharrison 2014-12-06 02:29:41
上的各種小插曲。前幾天我有類似的問題。我和RSelenium一起解決了問題。您可能會發現有趣的看到http://stackoverflow.com/questions/27305824/extracting-data-from-javascript-with-r/27308368#27308368 – PavoDive 2014-12-06 14:00:41