[英]How to scrape a collapsable table in RStudio
該網站以25張詳細表格總結了大學入學考試的結果。 以下是Hacettepe Uni的結果。 醫學系。 我喜歡刮擦表#10,該表總結了該系中哪所中學的學生最多:
https://yokatlas.yok.gov.tr/lisans.php?y=104810626#
傳統的R代碼無法獲取任何數據。
我嘗試使用xpath到達網站的第10個可折疊表格
xpath='//*[@id="icerik_1060"]/table'
但是它導致了空單元格。
相同的代碼可以成功地與其他網站的許多html表一起使用,沒問題。 當我使用以下xpath時,我也得到了肯定的數據
xpath= '//*[@id="h1060"]/a/h4' or
xpath= '//*[@id="headingOne"]/a/h4').
這是代碼:
pkgs = c("magrittr", "httr", "stringr", "jsonlite","tidyverse","rvest","xml2")
for (pkg in pkgs){
if (!require(pkg, character.only = T)){
install.packages(pkg)
library(pkg)
}
}
url <- "https://yokatlas.yok.gov.tr/lisans.php?y=104810626#"
webpage <- read_html(url)
wp <- html_nodes(webpage, xpath= '//*[@id="icerik_1060"]/table')
table <- html_table(wp, header=TRUE, trim=TRUE)
table
lasttable <- html_node(webpage,xpath ='/html/body/footer/div/table')
table <- html_table(lasttable, header=TRUE, trim=TRUE)
table
接下來的那部分對於頁面頁腳中的最后一張表正常工作。
lasttable <- html_node(webpage,xpath ='/html/body/footer/div/table')
table <- html_table(lasttable, header=TRUE, trim=TRUE)
table
結果是:
[1] Bize Önerilerinizi İletebilirsiniz:yokatlas@yok.gov.tr
[2] Girdi Göstergelerindeki bilgiler ÖSYM'den 2015, 2016, 2017 ve 2018 Ağustos ayında alınan verilerden derlenmiştir.
[3] Yükseköğretim Program Atlası©Yükseköğretim Kurulu Bilgi İşlem Daire Başkanlığı
<0 rows> (or 0-length row.names)
但是以下內容卻沒有:
wp <- html_nodes(webpage, xpath= '//*[@id="icerik_1060"]/table')
table <- html_table(wp, header=TRUE, trim=TRUE)
table
結果是:
list()
這里的xpath是不同的。 我無法獲取任何數據的表可折疊。 這可能是原因嗎?
請幫助解決可能的問題以及如何解決。
內容是從另一個端點動態加載的。 單擊展開按鈕時,您可以在“網絡”標簽中找到此標簽
library(rvest)
library(magrittr)
t <- read_html('https://yokatlas.yok.gov.tr/content/lisans-dynamic/1060.php?y=104810626') %>% html_node("table") %>% html_table(fill=T)
View(t)
樣本視圖:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.