精華區beta R_Language 關於我們 聯絡資訊
※ 引述《l111011 (Mr.Pickles)》之銘言: : 我原本是要從 https://itouch.cycu.edu.tw/active_system/CourseQuerySystem/ : 取表格 , 但是 R 的讀XML的函式貌似沒辦法讀這種動態網頁 : http://i.imgur.com/cmIYmjh.png
: 所以我改去嘗試下載上圖的連結 : 看了一下F12 , 要下載這個連結似乎要用HTTR中的POST : 參考了 http://leoluyi.logdown.com/posts/406397-crawler-mops-2 : 的方法 : 但是 : http://i.imgur.com/sBuTzm9.png
: 這個連結直接把上一頁資料塞在From data 給他轉成xls : 看起來要用httr下載此連結應該不行(要傳上一頁資料) : 請問有什麼方法 library(httr) library(pipeR) url <- "https://itouch.cycu.edu.tw/active_system/CourseQuerySystem/GetCourses.jsp" courseInfo <- POST(url, query = list(yearTerm = 1052)) %>>% content("text") x <- strsplit(strsplit(courseInfo, "@@")[[1]], split = "|", fixed = TRUE) do.call(rbind, x[-1]) 結果圖: http://imgur.com/a/jZvHN url是從開發者工具找到的,找到這個連結就可以全部抓下來了 ( http://imgur.com/a/XyiMf ) 然後給不同yearTerm就可得到不同學年的資料 -- R資料整理套件系列文: magrittr #1LhSWhpH (R_Language) https://goo.gl/72l1m9 data.table #1LhW7Tvj (R_Language) https://goo.gl/PZa6Ue dplyr(上.下) #1LhpJCfB,#1Lhw8b-s (R_Language) https://goo.gl/I5xX9b tidyr #1Liqls1R (R_Language) https://goo.gl/i7yzAz pipeR #1NXESRm5 (R_Language) https://goo.gl/zRUISx -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.233.136.9 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1493737909.A.C01.html ※ 編輯: celestialgod (36.233.136.9), 05/02/2017 23:13:47
l111011: 先感謝您 , 另外您rbind要去除第1列, 但是好像沒去除 05/03 00:37
l111011: 還有切割字串似乎有問題,不過我應該自己能處理 05/03 01:15
l111011: 感謝您費心幫忙,當初沒仔細找錯方向 05/03 01:17
celestialgod: 你自己再稍加修改吧,我這裡測出來是沒什麼問題就是 05/03 08:08
l111011: 您可以用view(x),會發現有row長度不同,看那幾個,資料 05/03 10:07
l111011: 是有錯的 05/03 10:07
l111011: 阿,sorry忘了assign回去,您是對的 05/03 11:31