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()

  • 相关阅读:
    .net从后台返回js的提示框
    使用IntelliTrace的独立收集器帮助测试应用程序
    NuGet笔记
    使用.dmp+vs分析异常
    windbg笔记
    C# 删除文件、文件到到回收站及异常判断
    .Net利用反射调用DLL时,被调用DLL引用其它库问题
    C#中设置窗口圆角样式
    C# 中引用IHTMLDocument2
    c# 单实例运行
  • 原文地址:https://www.cnblogs.com/weiwei-yu/p/3578962.html
Copyright © 2011-2022 走看看