最近在看《鲜活的数据:数据可视化指南》,学习一些数据可视化与数据分析的技术,本例是该书第一章的一个例子衍伸而来。

实例内容:从www.wunderground.com收集美国纽约州布法罗市(水牛城)2014年3月份每天最高气温,并导入Excel或WPS表格,制做成折线图。

工具准备:安装好的Python2.7,Beautiful Soup库(将其python文件放入Python库文件路径中)

步骤1:撰写Python程序。代码如下:

# -*- coding: cp936 -*-
import urllib2
from BeautifulSoup import BeautifulSoup f = open('wunder-data.txt','w') #open the file m = 3 #get weather data of March(3) 2014
for d in range(1,32): #loop from 2014.3.1 to 2014.3.31 timestamp = '' + str(m) + str(d)
print "Getting data for " + timestamp #for we can see the process in shell
url = "http://www.wunderground.com/history/airport/KBUF/2014/" + str(m) + "/" + str(d) + "/DailyHistory.html"
page = urllib2.urlopen(url) #get the web page soup = BeautifulSoup(page) #use BeautifulSoup to parsing the web page dayTemp = soup.findAll(attrs = {"class":"nobr"})[4].span.string #the data is showed in some HTML code where <class = "nobr">s are appeared if len(str(m)) < 2: #format it
mStamp = '' + str(m)
else:
mStamp = str(m) if len(str(d)) < 2: #format it
dStamp = '' + str(d)
else:
dStamp = str(d) timestamp = '2014-' + mStamp + '-' + dStamp #make data look like 2014-03-01,which is convinient for excel or WPS to deal with f.write(timestamp + ',' + dayTemp + '\n') #write it to the file
f.close() #close the file

步骤2:运行程序,得到数据文件wunder-data.txt。

步骤3:将数据导入WPS或Excel中,我用的是WPS表格:数据->导入数据->.....(这里就不贴图了)

步骤4:图表制作。

结果:

【Python数据分析】从Web收集数据小实例的更多相关文章

  1. winform 异步读取数据 小实例

    这几天对突然对委托事件,异步编程产生了兴趣,大量阅读前辈们的代码后自己总结了一下. 主要是实现 DataTable的导入导出,当然可以模拟从数据库读取大量数据,这可能需要一定的时间,然后 再把数据导入 ...

  2. Python数据分析:大众点评数据进行选址

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:砂糖侠 如果你处于想学Python或者正在学习Python,Pyth ...

  3. Python数据分析之全球人口数据

    这篇文章用pandas对全球的人口数据做个简单分析.我收集全球各国1960-2019年人口数据,包含男女和不同年龄段,共6个文件. pop_total.csv: 各国每年总人口 pop_female. ...

  4. Python 数据分析 - 索引和选择数据

    loc,iloc,ix三者间的区别和联系 loc .loc is primarily label based, but may also be used with a boolean array. 就 ...

  5. Python数据分析之双色球高频数据统计

    Step1:基础数据准备(通过爬虫获取到),以下是从第一期03年双色球开奖号到今天的所有数据整理,截止目前一共2549期,balls.txt 文件内容如下 : 备注:想要现成数据的可以给我发邮件哟~ ...

  6. python requests库网页爬取小实例:百度/360搜索关键词提交

    百度/360搜索关键词提交全代码: #百度/360搜索关键词提交import requestskeyword='Python'try: #百度关键字 # kv={'wd':keyword} #360关 ...

  7. sumafan:python爬虫多线程爬取数据小练习(附答案)

    抓取 https://www.cnbeta.com/ 首页中新闻内容页网址, 抓取内容例子: https://hot.cnbeta.com/articles/game/825125 将抓取下来的内容页 ...

  8. python数据分析之csv/txt数据的导入和保存

    约定: import numpy as np import pandas as pd 1 2 3 一.CSV数据的导入和保存 csv数据一般格式为逗号分隔,可在excel中打开展示. 示例 data1 ...

  9. python数据分析第二版:数据加载,存储和格式

    一:读取数据的函数 1.读取csv文件 import numpy as np import pandas as pd data = pd.read_csv("C:\\Users\\Admin ...

随机推荐

  1. 安装运行mariadb时错误:gtid_slave_pos

    精简windows zip包后出现错误: Failed to load slave replication state from table mysql.gtid_slave_pos: 1932: T ...

  2. [deviceone开发]-do_QRCode的简单示例

    一.简介 do_QRCode组件可以用来生成二维码,识别二维码图片文件,这个示例直观的展示组件基本的使用方式. 二.效果图 三.相关下载 https://github.com/do-project/c ...

  3. javascript 函数初探 (六)--- 闭包初探#4

    循环中的闭包: 让我们来看一下一个会循环三次的操作,她在每次迭代中都会创建一个返回当前序列号的新函数,该函数会被添加到一个数组中,并最终返回: function F(){ var arr = [], ...

  4. 导入CSV格式的数据

    导入CSV格式的数据 (参见http://dev.mysql.com/doc/refman/5.6/en/load-data.html) 1.数据库表(st_pptn_r) CREATE TABLE ...

  5. .Net元编程【Metaprogramming in NET】 序-翻译

    最近在看这本书,比较实用.抽点时间把公开的部分内容简单的翻译了一下,下文是序部分. 书的具体地址为: http://www.amazon.cn/Metaprogramming-in-NET-Hazza ...

  6. subversion SVN

    subversion(简称svn)是近年来崛起的版本管理软件系统,是cvs的接班人.目前,绝大多数开源软件都使用svn作为代码版本管理软件. Subversion是一个版本控制系统,相对于的RCS.C ...

  7. Android开发小问题记录

    安卓资源文件无法命名大写字母,否则导致不会生成R类!!! 资源文件的命名容许的字符为“a-z0-9_.”,即只容许有小写字母,数字0-9,下划线和点 Notification不显示 有些手机会对not ...

  8. iOS开发常用小技巧记录(持续更新)

    以下问题都是自己在项目中遇到的,解决问题的方法肯定有多种,我所列举的不一定就是最好的解决办法.如有问题欢迎大家指正,补充,交流. 解决同时按两个按钮进两个view的问题.[button setExcl ...

  9. Android实现欢迎界面,点击进入应用

    在主线程中开启一个新线程,每隔100ms检查一下时间是否到达自己预设的显示时间,到达则进入应用 实现屏幕的触摸事件,当触摸的时候,进入应用 package com.example.administra ...

  10. 关于PHP的curl开启问题

    今天在做一个新浪登录功能,新浪提供的PHP SDK里需要用到curl_init()函数,在调试的时候报找不到curl_init()的方法. 经搜索得知需要开启curl的php扩展,那curl又是什么呢 ...