利用Python和R采集与分析地震数据
2015-02-01 22:37
567 查看
这一次我们将要采集与分析的是国家地震台网的数据,原网页为http://data.earthquake.cn/datashare/globeEarthquake_csn.html。仍然使用python来自动化采集数据,使用R来进行数据分析。我们需要提取原网页中table中的地震数据。
其网页源文件中数据显示的格式如下,使用re模块的正则表达式来提取数据,需要注意标题行和数据行格式的不同,另外数据行中“时间”这一列是不规范的,设计匹配规则时为了一次性抓取数据,需要较强的兼容规则。
数据保存在csv文件中,python数据采集源代码:
接下来需要使用R对数据进行清洗,分析,可视化。首先导入数据。
其网页源文件中数据显示的格式如下,使用re模块的正则表达式来提取数据,需要注意标题行和数据行格式的不同,另外数据行中“时间”这一列是不规范的,设计匹配规则时为了一次性抓取数据,需要较强的兼容规则。
数据保存在csv文件中,python数据采集源代码:
<span style="font-size:14px;">#encoding:utf-8 ''' Created on 2015年1月31日 @author: Guo ''' import urllib2,re,csv url='http://data.earthquake.cn/datashare/globeEarthquake_csn.html' page=urllib2.urlopen(url).read().decode('gb2312').encode('utf-8')#原网页编码方式为gb2312需要先解码后编码为平台可显示的utf-8字符格式 pattern=re.compile('<TR>.*?</TR>',re.S) items=pattern.findall(page) print len(items) patternTd=re.compile('<Td.*?>(.*?)[</Td>|\n<Td]') csvFile=file('e:/test/quake.csv','a') csvWriter=csv.writer(csvFile) for item in items: cases=patternTd.findall(item) data=[] for case in cases: data.append(case.strip()) csvWriter.writerow(data) print 'Data download down'</span>最终获得838条数据,采集结果:
接下来需要使用R对数据进行清洗,分析,可视化。首先导入数据。
<span style="font-size:14px;">quake<-read.csv("E:\\test\\quake.csv",header=T,fileEncoding='UTF-8') quake[sample(nrow(quake),5),] 发震日期 发震时刻 纬度... 经度... 深度.km. 震级 事件类型 参考地点 314 2015-01-29 02:13:49.6 42.33 86.62 6 ML2.6 天然地震 新疆和静 397 2015-01-28 17:10:27.5 24.58 111.51 6 ML1.4 天然地震 广西钟山 814 2015-01-26 03:06:48.2 39.76 118.38 14 ML0.5 天然地震 河北唐山 481 2015-01-28 04:07:09.9 23.32 100.46 9 ML0.1 天然地震 云南景谷 200 2015-01-29 18:52:00.4 25.03 97.83 12 ML1.6 天然地震 云南盈江</span>
相关文章推荐
- 利用python采集分析糗事百科数据
- 【利用python进行数据分析】第八章的海地地震数据代码
- 利用python采集分析人人网社交网络数据
- 利用Python进行数据分析--数据聚合与分组运算
- 利用Python进行数据分析--数据聚合与分组运算1
- 利用python进行数据分析之pandas库的应用(二)
- python数据采集与多线程效率分析
- 利用python进行数据分析之绘图和可视化
- 利用python进行数据分析-关于包的坑
- 利用Python进行数据分析——数据规整化:清理、转换、合并、重塑(七)(5) .
- 《利用python 进行数据分析》要点记录
- 《利用python做数据分析》第十章:时间序列分析
- linux下利用python进行数据分析(1)Anaconda 安装
- 利用Python进行数据分析--时间序列
- 利用python进行数据分析笔记
- 利用Python进行数据分析--数据规整化:清理、转换、合并、重塑
- 网页数据采集:[3]python如何利用抓包数据
- 利用Python进行数据分析——第一章:重要Python库安装配置
- [python和大数据-1]利用爬虫登录知乎进行BFS搜索抓取用户信息本地mysql分析【PART1】
- 利用Python进行数据分析---ch02《MovieLens 1M数据集(上)》读书笔记