python3爬虫--抓取天气信息

来源:互联网 发布:12306网络订餐配送工 编辑:程序博客网 时间:2024/05/01 05:16

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

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

0 0
原创粉丝点击