可以去河里采样了吗?

January 09, 2014

Tags:菜鸟学R语言

新学期开始啦!第一篇论文终于写完了,导师和我已经改了无数遍,基本定稿了,正在等待其他作者通读一遍,认为没问题就要投了。下面的任务就是开始新的实验,我需要去加龙河的河床上去采样,生物膜、河水、底泥啥的。但如果水位超过一定程度,就不安全,我们就要等水位降下来,才再跟司机约时间去。

法国政府网站上有各个水文站公布的数据的,我们一般打开网站看看水位超过0.8m没有,就可以决定要不要去了。

Garonne water level from France goverment

网站上也很贴心的给出了表格数据,每天、每三天和每七天的数据,看到table,我就想抓。于是就写了个非常简单的脚本。

library(XML)

station_url = "http://www.vigicrues.gouv.fr/niveau3.php?idstation=1818&typegraphe=h&AffProfondeur=24&nbrstations=5&ong=2&Submit=Refaire+le+tableau+-+Valider+la+s%C3%A9lection" #the site we care about
table_station_url = as.data.frame(readHTMLTable(station_url)[1])
table_station_url[,2] = as.numeric(as.character(table_station_url[,2]))
if(mean(table_station_url[,2]) >= 0.8){
  print("No way! It's dangerous!")
  }else{
    print("Yeah! It's ready to go!!")
}

每天在R里面运行一下这个脚本即可。其实,这有点画蛇添足,因为从实用角度讲,我其实点一下网页也能知道能不能去的。说白了,就是闲的。

题外话,最近在学python,从头学,因为我还挺喜欢抓取网站数据的。有国内同学想做奢侈品代购,我也写了个R脚本,抓取prada官网的价格和有无存货(里面对我来说,稍微有点技术含量的就是,找到了个有规律的json地址,于是存货与否就搞定了)。但这都只是凤毛麟角,要抓取不学python怎么行?

· The end ·