Re: [问题] 下载网页连结档案

楼主: celestialgod (天)   2017-05-02 23:11:45
※ 引述《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就可得到不同学年的资料
作者: l111011 (Mr.Pickles)   2017-05-03 00:37:00
先感谢您 , 另外您rbind要去除第1列, 但是好像没去除还有切割字串似乎有问题,不过我应该自己能处理感谢您费心帮忙,当初没仔细找错方向
楼主: celestialgod (天)   2017-05-03 08:08:00
你自己再稍加修改吧,我这里测出来是没什么问题就是
作者: l111011 (Mr.Pickles)   2017-05-03 10:07:00
您可以用view(x),会发现有row长度不同,看那几个,资料是有错的阿,sorry忘了assign回去,您是对的

Links booklink

Contact Us: admin [ a t ] ucptt.com