R_Language 板


LINE

来分享一下我的程式码 library(magrittr) library(httr) library(rvest) library(XML) library(dplyr) library(stringr) setwd("J:/圣哲/资料运算/spider") data<-read.csv("test.csv", header=T, sep=",") #http://imgur.com/a/vpizi 我自己先用EXCEL创造出要载的年月日 这用R也可以做啦 #只是这个EXCEL之後还有其他功能 for (a in 1:length(data[,1])) { url="http://fhy.wra.gov.tw/ReservoirPage_2011/StorageCapacity.aspx" txt=GET(url) viewstate = txt %>% read_html() %>% html_nodes(., css="#__VIEWSTATE") %>% html_attr("value") #读取viewstate cboSearch="所有水库" cboYear=data[a,2] cboMonth=data[a,3] cboDay=data[a,4] #我的参数 dados <- list( 'ctl00$cphMain$cboSearch'=cboSearch, 'ctl00$cphMain$ucDate$cboYear'=cboYear, 'ctl00$cphMain$ucDate$cboMonth'=cboMonth, 'ctl00$cphMain$ucDate$cboDay'=cboDay, '__VIEWSTATE'=viewstate) #此网页有很多$ list里面不能直接打$ 要有单引号就没这问题 r <- POST(url, body=dados, cookies=unlist(txt$cookies),encode = "form") res_text <- content(r, "text", encoding = "UTF-8") %>% `Encoding<-`("UTF-8") # Windows encodind issue res_text #看看资料有无出来 htmlParse(res_text,encoding = "utf8") tables <- readHTMLTable(htmlParse(res_text,encoding = "utf8"),stringsAsFactors=FALSE) View(tables[[1]]) #看看TABLE出来的资料有无正确 其实有些有跳栏位问题 但资料都有 name=tables[[1]][-1,1] water_day=tables[[1]][-1,2] time_day=paste(cboYear,"-",cboMonth,"-",cboDay,sep = "") rain=tables[[1]][-1,4] input=tables[[1]][-1,5] output=tables[[1]][-1,6] difference=tables[[1]][-1,7] time_now=tables[[1]][-1,8] height_now=tables[[1]][-1,9] water_now=tables[[1]][-1,10] water_percent_now=tables[[1]][-1,11] result=cbind(name,water_day,time_day,rain,input,output,difference,time_now,height_now,water_now,water_percent_now) colnames(result) <- c("水库名称","水库基本数据_有效容量", "每日蓄水统计_统计时间","每日蓄水统计_集水区降雨量", "每日蓄水统计_进水量","每日蓄水统计_出水量", "每日蓄水统计_与昨日水位差","即时水情资料_水情时间", "即时水情资料_水位","即时水情资料_有效蓄水量", "即时水情资料_蓄水量百分比") #从table存取我要的资讯 write.csv(result, paste("./result/",time_day,".CSV",sep = "")) #每一天一个CSV档案 之後可能需要 故先不做合并 } a = list.files("result") dir = paste("./result/",a,sep="") n = length(dir) merge.data = read.csv(file = dir[1],header=T,sep=",")[-54,-1] for (i in 2:n){ new.data = read.csv(file = dir[i], header=T, sep=",")[-54,-1] merge.data = rbind(merge.data,new.data) } write.csv(merge.data,file = "./merge.csv",row.names=F) #所有CSV合并成为一个档案 ※ 引述《jack155861 (萧)》之铭言: : ※ 引述《jack155861 (萧)》之铭言: : : [问题类型]: : : 程式谘询(我想用R 做某件事情,但是我不知道要怎麽用R 写出来) : : [软体熟悉度]: : : 使用者(已经有用R 做过不少作品) : : [问题叙述]: : : 之前爬虫都是用html网页型态,最近遇到一个是需要先点选选单才能查询资料的ASP网页, : : 如下 : : http://fhy.wra.gov.tw/ReservoirPage_2011/StorageCapacity.aspx : : 假设我要载:水库>2017/6/4 像这样的资料时,他的网址并不会跟着变动 : : 要使用怎样的语法会比较恰当 : : 请各位指点一下~"~ : 各位好 : 谢谢C大的说明 然後我又在网路上看到一个教学 他这个教学跟我网站的形式有点类似 : 网址如下:http://leoluyi.logdown.com/posts/406397-crawler-mops-2 : 我把我要爬虫的网站 看了他的程式码 他是属於form data 如下图 : http://imgur.com/a/Vy7mw : 依照上面教学网址是要把form data的资料都放到R的函数理头 : res <- POST( : "http://fhy.wra.gov.tw/ReservoirPage_2011/StorageCapacity.aspx", : body = "XXXXX", : encode = "form") : 但是怎样跑都跑不出来 跑的都是最新(2017/6/4)的资料 : 若我body只放以下这些有影响的参数也是如此 : ctl00$cphMain$cboSearch:防汛重点水库 : ctl00$cphMain$ucDate$cboYear:2017 : ctl00$cphMain$ucDate$cboMonth:6 : ctl00$cphMain$ucDate$cboDay:2 : 请问各位大大 有哪里用错了吗? --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 60.251.160.121
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/R_Language/M.1496796579.A.2FB.html
1F:→ jack155861: 如果有更好的写法 也可以提出阿 06/07 08:53
2F:→ jack155861: 补充一点为何需要viewstate 因为每一天的viewstate不Y 06/07 08:55
3F:→ jack155861: 同,而其他的都相同 所有我就没有放进去了 06/07 08:56







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:e-shopping站内搜寻

TOP