r - 使用 R rvest 库在 iframe 中抓取表

标签 r iframe web-scraping

我很喜欢 R 的 rvest 库来抓取网站,但我正在努力尝试一些新的东西。从这个网页 - http://www.naia.org/ViewArticle.dbml?ATCLID=205323044 - 我正在尝试抓取大学的主要表格。

这是我的代码目前的样子:

NAIA_url = "http://www.naia.org/ViewArticle.dbml?ATCLID=205323044"
NAIA_page = read_html(NAIA_url)

tables = html_table(html_nodes(NAIA_page, 'table'))
# tables returns a length-2 list, however neither of these tables are the table I desire.

# grab the correct iframe node
iframe = html_nodes(NAIA_page, "iframe")[3] 

但是我正在努力克服这个问题。 (1) 由于某种原因,调用 html_nodes 并没有获取我想要的表。 (2) 我不确定我是否应该获取 iframe,然后尝试从其中获取表格。

感谢任何帮助!

最佳答案

如果嵌入的 iframe 是 html,您可以获取 iframe 源并从那里获取所需的表格。


library(rvest)
#> Loading required package: xml2
library(magrittr)
"http://www.naia.org/ViewArticle.dbml?ATCLID=205323044" %>%
  read_html() %>%
  html_nodes("iframe") %>%
  extract(3) %>% 
  html_attr("src") %>% 
  read_html() %>% 
  html_node("#searchResultsTable") %>% 
  html_table() %>%
  head()
#>                                   College or University       City, State
#> 1                   Central Christian College ATHLETICS     McPherson, KS
#> 2 +                   Crowley's Ridge College ATHLETICS     Paragould, AR
#> 3                       Edward Waters College ATHLETICS  Jacksonville, Fl
#> 4                 Fisher College ADMISSIONS | ATHLETICS        Boston, MA
#> 5       Georgia Gwinnett College ADMISSIONS | ATHLETICS Lawrenceville, GA
#> 6   Lincoln Christian University ADMISSIONS | ATHLETICS       Lincoln, IL
#>   Conference Enrollment
#> 1     A.I.I.        259
#> 2     A.I.I.          0
#> 3     A.I.I.        805
#> 4     A.I.I.        600
#> 5     A.I.I.      9,720
#> 6     A.I.I.      1,060

关于r - 使用 R rvest 库在 iframe 中抓取表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44377443/

相关文章:

python - Scrapy 没有按照 allowed_domains 过滤结果

rCharts - Shiny 中的传单和 nvd3 之间的冲突

r - 如何更改 ggforest(或 coxph 回归图)中的绘图大小?

jQuery 从 iframe 代码获取 YouTube 视频 src

selenium - 如何在selenium-ide中自动点击iframe?

python - 无法限制我的脚本解析网页中的特定部分

r - 在 R 中分割字符串以获得多个符号

r - 如何绘制点之间的曲线

javascript - WordPress 主题预览器?从哪儿开始?

python - 抓取时无法获取头条内容