用python写的抓取天气预报的脚本
来源:互联网 发布:unity3d ongui快进 编辑:程序博客网 时间:2024/06/05 16:34
用python写的抓取天气预报的脚本
http://blog.chinaunix.net/u2/82009/showart_2166843.html
从昨天开始的看关于网络抓取的东西,而且自己的用的是awesome ,所以写了这个天气预报的脚本给我的awesome,这个天气脚本直接取下来的话是七天的天气预报从中国天气网上,我后面对它做了处理,用到了我的awesome上
效果:1日星期一夜间 阴 低温 4℃ 无持续风向 微风 | 2日星期二 小雨 --> 雨夹雪 3℃ --> 6℃ | 3日星期三 雨夹雪 1℃ --> 5℃
我只取了三天的预报,三天已经够了,下面程序的注释 英文实在有点过不了关
================================================
#!/usr/bin/env python
# weather html parser
from HTMLParser import HTMLParser
import sys,urllib2,string,re
# define a class to parser a html
class HtmlParser(HTMLParser):
def __init__(self):
self.data=''
self.readingdata=0
HTMLParser.__init__(self)
def handle_starttag(self,tag,attrs):
if tag == 'td':
self.readingdata=1
def handle_data(self,chars):
if self.readingdata:
self.data+=chars
def handle_endtag(self,tag):
if tag=='td':
self.readingdata=0
def cleanse(self):
self.data = re.sub('/s+',' ', self.data)
def getdata(self):
self.cleanse()
return self.data
# this url is a place where you want to know the weather forecast
url="http://www.weather.com.cn/html/weather/101210501.shtml"
req=urllib2.Request(url)
fd=urllib2.urlopen(req)
tp=HtmlParser()
tp.feed(fd.read())
weather=tp.getdata()
# when you are getting a weather after parsering
# this weather string have 7 days weather forecast
# the following if for my awesome format
weather=weather.split()
tag=[weather.index(i) for i in weather if '/xe6/x97/xa5' in i]
first=weather[:tag[1]]
second=weather[tag[1]:tag[2]]
if second[1]!=second[7]:second[1]+=' --> '+second[7]
second[2]=second[9]+' --> '+second[3]
second[0]=second[0][:-6]
second=second[:3]
third=weather[tag[2]:tag[3]]
if third[1]!=third[7]:third[1]+=' --> '+third[7]
third[2]=third[9]+' --> '+third[3]
third[0]=third[0][:-6]
third=third[:3]
weather=['<span color="green"> Weather:</span>']+first+['|']+second+['|']+third
for i in weather:print i,
- 用python写的抓取天气预报的脚本
- 用python写一个简单的天气预报
- 用Python BeautifulSoup写的一份多线程图片抓取的脚本
- PHP抓取天气预报的代码
- python抓取网页图片的脚本
- 用Python写的socket脚本
- python写的打包脚本
- python写的投票脚本
- python写的翻译脚本
- python 的查询天气预报
- shell脚本写的一个图片抓取器
- Hello Python!用python写一个抓取CSDN博客文章的简单爬虫
- python写的读写文件的脚本
- python写的多线程 代理服务器 抓取,保存,验证程序
- python写爬虫2-数据抓取的三种方式
- 用python写了一个简单的模拟浏览器抓取网页的库webclient
- 用python写的人人网遍历好友脚本
- 用python写一个windows下的定时关机脚本
- SQL-92 隔离级别
- Firefox 中文语言包安装方法
- 理解 Flex itemRenderer - 第 5 部分: 效率
- 企业家基因
- Oracle 如何定义自动增量autocreament的主键ID?
- 用python写的抓取天气预报的脚本
- 写基金申请就是在做研究-基金申请体会
- 各线程同步操作性能列表
- python的C、c++扩展
- 警告:Nvidia 官方二进制驱动严重问题
- PLC以太网通讯时数据发送与接收的时序问题
- Oracle RAC 常用维护工具和命令
- linux内核情景分析{信号 进程}
- Apache ab 工具