r - 从网站中提取html表格

标签 r web-scraping rcurl

我正在尝试使用 XML、RCurl 包来读取以下 URL 的一些 html 表
http://www.nse-india.com/marketinfo/equities/cmquote.jsp?key=SBINEQN&symbol=SBIN&flag=0&series=EQ#

这是我正在使用的代码

library(RCurl)
library(XML)
options(RCurlOptions = list(useragent = "R"))
url <- "http://www.nse-india.com/marketinfo/equities/cmquote.jsp?key=SBINEQN&symbol=SBIN&flag=0&series=EQ#"
wp <- getURLContent(url)
doc <- htmlParse(wp, asText = TRUE) 
docName(doc) <- url
tmp <- readHTMLTable(doc)
## Required tables 
tmp[[13]]
tmp[[14]]

如果您查看表格,则无法解析网页中的值。
我猜这是因为一些 javascipt 评估正在发生。
现在,如果我在 google chrome 中使用“将页面另存为”选项(它在 mozilla 中不起作用)
并保存页面,然后使用上面的代码,我可以读取值。

但是有没有办法让我可以阅读苍蝇的 table ?
如果你能帮忙就太好了。

问候,

最佳答案

看起来他们正在通过访问 http://www.nse-india.com/marketinfo/equities/ajaxGetQuote.jsp?symbol=SBIN&series=EQ 使用 javascript 构建页面。并解析出一些字符串。也许您可以抓取该数据并将其解析出来,而不是抓取页面本身。

不过,看起来您必须使用 cURL 使用正确的引用 header 构建请求。如您所见,您不能仅通过一个简单的请求就访问 ajaxGetQuote 页面。

您可能可以通过在 Chrome 或 Safari 中使用 Web Inspector 或在 Firefox 中使用 Firebug 来读取要放入的适当标题。

关于r - 从网站中提取html表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5914626/

相关文章:

r - 如何自定义ggplot2中中间值和最大值的颜色?

javascript - 如何正确使用getElementByXpath和getElementsByXpath?

r - 如何使用 httr 为基于证书的身份验证指定证书、 key 和根证书?

r - 为什么像 æøå 这样的特殊字符在 block 中显示不正确,但在 R Notebooks 的内联代码中显示正确?

r - 什么是 select_at()?

excel - 使用 VBA 和 selenium 抓取时从部分 id 中获取全部值(value)

python - 网页抓取:访问大列表中的文本信息

r - 使用 RCurl postForm 收集 JSON 数据

R - install_github 失败

r - 在 R 中快速将大向量分割成 block