python3爬虫--抓取天气信息

抓取中国天气网上的数据并打出

Version:Python3.5  Os:win10

import urllib.request
import re
import time
if __name__=='__main__':
    url = 'http://www.weather.com.cn/weather/101010100.shtml'
    header={'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0'}
    req=urllib.request.Request(url=url,headers=header)
    webPage=urllib.request.urlopen(req)
    data = webPage.read()
    data = data.decode('utf-8')
    date=time.strftime("%Y-%m-%d %H:%M %p", time.localtime())
    regzone='<a href="http://bj.weather.com.cn" target="_blank">(.*?)</a>'
    regdis='<p class="wea" title="(.*?)">'
    reg='<p class=.*?>\n<span>(.*?)</span>/\n<i>(.*?)</i>'
    w=re.compile(reg).findall(data)
    wz=re.compile(regzone).findall(data)
    wdis=re.compile(regdis).findall(data)
    print(date,wz[0],w[0],wdis[0])

然后写一个gui界面:

from tkinter import *
import urllib.request
import re
import time
url = 'http://www.weather.com.cn/weather/101010100.shtml'
header={'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0'}
req=urllib.request.Request(url=url,headers=header)
webPage=urllib.request.urlopen(req)
data = webPage.read()
data = data.decode('utf-8')
date=time.strftime("%Y-%m-%d %H:%M %p", time.localtime())
regzone='<a href="http://bj.weather.com.cn" target="_blank">(.*?)</a>'
regdis='<p class="wea" title="(.*?)">'
reg='<p class=.*?>\n<span>(.*?)</span>/\n<i>(.*?)</i>'
w=re.compile(reg).findall(data)
wz=re.compile(regzone).findall(data)
wdis=re.compile(regdis).findall(data)
class Application(Frame):
    def __init__(self, master=None):
        Frame.__init__(self, master)
        self.pack()
        self.createWidgets()
    def createWidgets(self):
        self.helloLabel = Label(self, text=date+' '+wz[0]+'\n'+wdis[0]+'\n'+'气温范围'+str(w[0]))
        self.helloLabel.pack()
app = Application()
# 设置窗口标题:
app.master.title('实时温度')
# 主消息循环:
app.mainloop()


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值