簡體   English   中英

如何在RStudio中刮擦可折疊的桌子

[英]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)

樣本視圖:

在此處輸入圖片說明


img鏈接https://i.stack.imgur.com/LPLqP.png

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM