我想用R从网站中提取一些文字。我无法使用Rvest访问文本。我感兴趣的领域是“主要投资策略”部分如果我可以提取该部分,我可以使用Grep进一步分析文本。但是,以可提取的格式获得该部分证明是一项挑战。
答案 0 :(得分:0)
使用rvest
提取该部分的完整文本(iframe),也许您可以使用正则表达式或标记生成器从文本中提取所需的部分:
link <- 'http://quote.morningstar.com/etf-filing/Summary-Prospectus/2017/8/28/t.aspx?t=AGG&ft=497K&d=c6995d020ec0f1b3592873780a199bd1'
library(rvest)
library(magrittr)
link %>%
read_html() %>%
html_nodes("iframe") %>%
extract(4) %>%
html_attr("src") %>%
read_html() %>%
html_text()
答案 1 :(得分:0)
坚信你已经完成了你的所作所为(没有代码样本很难确定)。
从原始网址开始,使用精确定位抓取该文字,然后找到iframe,然后找到包含该文字的<div>
。
library(rvest)
read_html("http://quote.morningstar.com/etf-filing/Summary-Prospectus/2017/8/28/t.aspx?t=AGG&ft=497K&d=c6995d020ec0f1b3592873780a199bd1") %>%
html_node("iframe.sec_frame") %>%
html_attr("src") %>%
read_html() -> pg
html_node(pg, xpath=".//div[contains(., 'Principal Investment Strategies
')]") %>%
html_text()