zoukankan      html  css  js  c++  java
  • 夏日炎炎 python写个天气预报

    东南地区连续突破历史,江浙沪除了包邮之外的另一福利-桑拿也已到手。这样的日子里是应该每日关注天气主义降暑避免出现热疾病,python包含比 较多的网络应用类这样就方便了一些网络应用的操作,之外还有些可以和c++一争高下的界面处理。这次就联合这两个强项做一个中国气象网的爬虫,爬下来数据 保存成txt,之后再通过界面框显示出来。

    源码如下:

    # -*- coding: cp936 -*-#识别中文编码

    import urllib2#载入网络库

    import re#查找的函数库

    reg='<a title=.*?>(.*?)</a>.*?<span>(.*?)</span>.*?<b>(.*?)</b>'#正则表达式

    url = "http://www.weather.com.cn/shanghai/index.shtml"#气象网上海的预报页面

    page = urllib2.urlopen(url).read()#打开页面怕数据

    weatherList=re.compile(reg).findall(page)#根据正则表达式找到要的数据

    a = "C://Users/xww/Desktop/shanghaitianqi.txt"#保存位置-本人的桌面位置

    uipath = unicode(a , "utf8")#气象数据的编码格式转换

    f = open(a,'w+')

    f = open(a,'r+')

    for weather in weatherList:

    city=str(weather[0]).decode('utf-8').encode('gb2312')

            high=str(weather[1]).decode('utf-8').encode('gb2312')

            low=str(weather[2]).decode('utf-8').encode('gb2312')

            f.write(city)

            f.write("  ")

            f.write(high)

            f.write("  ")

            f.write(low)

            f.write("   ")       

    f.close()

    #filename = "C://Users/xww/Desktop/shanghaitianqi.txt"

    f = open(a,'r+')

    import sys

    import wx#界面的函数库

    class StaticTextFrame(wx.Frame):#建立类

    def __init__(self):

    wx.Frame.__init__(self, None, -1, '天气预报',size=(700, 500))#花框的大小

    panel = wx.Panel(self, -1)

    for i in range(11):

                            a=f.readline()

                            wx.StaticText(panel, -1,a ,(100, 30*i))#"This is an example of static text"#框内显示数据

    if __name__ == '__main__':#建立消息

    app = wx.PySimpleApp()

    frame = StaticTextFrame()

    frame.Show()

    app.MainLoop()

  • 相关阅读:
    day4-生成器
    第三天-函数
    编码问题
    可变不可变类型总结
    由var与let引起的百度地图所有的覆盖点的信息都是最后一个的
    《企业应用架构模式》 三
    IndexDB
    ESA与SOA
    SOA
    Dubbo(一)
  • 原文地址:https://www.cnblogs.com/weiwei-yu/p/3578962.html
Copyright © 2011-2022 走看看