小菜试写了一个python获取天气预报的脚本
2012-08-11 12:57
302 查看
这几天在看python网络编程基础,第6章和第7章介绍了获取web内容和解析html,自己找东西实践了一下
结果如下:
#!/usr/bin/python #conding:utf-8 import sys,re,urllib2,datetime from HTMLParser import HTMLParser class main(HTMLParser): def __init__(self): HTMLParser.__init__(self) self.tarsum = ['td','th','br'] self.readingtitle = 0 self.curtag = None self.curattrs = 0 self.marktag = None self.result = {} self.timeclock = 0 for i in range(0,7): self.result[datetime.date.today() + datetime.timedelta(days=i)] = [] def handle_starttag(self,tag,attrs): self.curtag = tag self.curattrs = len(attrs) if tag == 'table' and len(attrs) == 7: self.readingtitle = 1 self.marktag = tag if self.readingtitle == 1: if tag == 'tr': self.timeclock = -2 elif tag == 'td': self.timeclock += 1 def handle_data(self,data): if self.curtag in self.tarsum and self.curattrs == 0 and self.readingtitle == 1: days = datetime.date.today() + datetime.timedelta(days=self.timeclock) self.result[days].append(data.strip()) def handle_endtag(self,tag): if tag == self.marktag: self.readingtitle = 0 def getvalue(self): return self.result if __name__ == '__main__': url = urllib2.urlopen('http://qq.ip138.com/weather/guangdong/GuangZhou.htm') strhtml = url.read() strhtml = unicode(strhtml, 'gb2312','ignore').encode('utf-8','ignore') tp = main() tp.feed(strhtml) for key,value in tp.getvalue().items(): print key, for a in value: print a, print
结果如下:
相关文章推荐
- 一个获取指定目录下一定格式的文件名称和文件修改时间并保存为文件的python脚本
- 一个用于踩点获取信息的python脚本
- python 学习笔记 12 -- 写一个脚本获取城市天气信息
- 一个获取指定目录下一定格式的文件名称和文件修改时间并保存为文件的python脚本
- 获取linux系统信息的一个python脚本
- python 学习笔记 12 -- 写一个脚本获取城市天气信息
- 在一个Python脚本中加载2种不同版本的库
- 使用Python脚本获取指定格式文件列表的方法
- python脚本获取本机公网ip
- python 脚本(获取指定文件夹、指定文件格式、的代码行数、注释行数)
- 一个检测网页是否有日常链接的python脚本
- python 脚本(获取指定文件夹、指定文件格式、的代码行数、注释行数)
- 书写一个cp的python脚本
- Python 3爬虫网易云(九)—— 获取一个歌手的热门50首歌词
- PYTHON教程中“编写一个Python脚本”版本一的windows版本
- python获取微信公众号的access_token的脚本
- 用python写一个windows下的定时关机脚本(推荐)
- 在ubuntu linux 中编写一个自己的python脚本
- python 获取脚本所在目录的正确方法
- Python脚本获取Windows窗口标题,输出到命令行