# install the all package
from bs4 import BeautifulSoup
import requests
from tkinter import *
from PIL import Image
# making tkinter window
root = Tk()
root.geometry("450x300")
root.title('Weather App @_python.py_')
root.resizable(False, False)
# this is our app icon .. download all file from github
root.iconbitmap('cloudy.ico')
# set frames for show different content and color in window
frame1 = Frame(root, bg='#fff', width=450, height=200)
frame1.place(x=0, y=0)
frame2 = Frame(root, bg='#2E2E2E', width=300, height=100)
frame2.place(x=0, y=200)
frame3 = Frame(root, bg='#33FFDD', width=150, height=100)
frame3.place(x=300, y=200)
# here i set gif for make our app more look good
# start animation
file = 'cloud.gif'
info = Image.open(file)
frames = info.n_frames
im = [PhotoImage(file = file, format=f'gif -index {i}') for i in range(frames)]
count = 0
anim = None
def animation(count):
global anim
im2 = im[count]
gif_label.configure(image=im2)
count += 1
if count == frames:
count = 0
anim = root.after(50, lambda: animation(count))
gif_label = Label(root, image="", bg="#fff")
gif_label.place(x=120, y=15)
# End animation
# weather details - Start
global city
city = StringVar()
# make entry box take city name
Label(root, text="Enter the City Name", font=("Arial Rounded MT Bold", 12), bg="#fff").place(x=150, y=0)
entry = Entry(root, textvariable=city, width=22, bg='#D0FFBC')
entry.place(x=130, y=25)
# if user agent not work search on chrome my user agent otherwise update chrome
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
def Weather():
global city
city1 = city.get() + " weather"
city1 = city1.replace(" ", "+")
res = requests.get(f'https://www.google.com/search?q={city1}&oq={city1}&aqs=chrome.0.35i39l2j0l4j46j69i60.6128j1j7&sourceid=chrome&ie=UTF-8',
headers=headers)
soup = BeautifulSoup(res.text, 'html.parser')
location = soup.select('#wob_loc')[0].getText().strip()
print(soup.select('#wob_dts'))
time = soup.select('#wob_dts')[0].getText().strip()
info = soup.select('#wob_dc')[0].getText().strip()
weather = soup.select('#wob_tm')[0].getText().strip()
Label(root, text=location, font='Caveat 12 bold', bg="#2E2E2E", fg='#fff').place(x=130, y=250)
Label(root, text=info, font='ROBOTO 15 bold', bg="#2E2E2E", fg='#fff').place(x=130, y=220)
Label(root, text=f'{weather}°C', font='ROBOTO 35 bold', bg="#2E2E2E", fg='#fff').place(x=5, y=220)
time = time.split(',')
Label(root, text=time[0], font='Caveat 20 bold', bg="#33FFDD", fg='#2E2E2E').place(x=330, y=210)
Label(root, text=time[1].upper(), font='ROBOTO 15 bold', bg="#33FFDD", fg='#2E2E2E').place(x=325, y=240)
entry.delete('0', END)
Button(root, text='Check', font=("Arial Rounded MT Bold", 8), bg="#D0FFBC", command=Weather).place(x = 280, y=25)
# Weather Details End
animation(count)
root.mainloop()
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
ython天气更新程序源代码是一种用Python语言编写的程序,旨在获取最新的天气信息并实时更新。该程序通常使用第三方API或网络请求来获取天气数据,并将数据解析后展示在用户界面上。以下是一般的Python天气更新程序源代码介绍:1. 导入必要的库:在程序开头通常会导入必要的库,如requests库用于发送网络请求,json库用于解析JSON格式的数据。2. 获取天气数据:通过调用天气API或发送网络请求获取最新的天气数据,通常包括城市名称、温度、天气状况、湿度、风速等信息。3. 解析数据:将获取的天气数据进行解析,提取出需要的信息并格式化展示。可以使用json库或其他数据处理方法来解析数据。4. 用户界面展示:将解析后的天气信息展示在用户界面上,可以使用Tkinter库或其他GUI库创建一个简单的界面,展示天气情况和更新时间。5. 实时更新:设置定时器或循环机制,定时更新天气数据,保持用户界面上的天气信息实时更新。6. 异常处理:添加异常处理机制,处理网络请求失败、数据解析错误等异常情况,保证程序的稳定性和健壮性。7. 用户交互:为用户提供交互功能用户输入城市名称获取对应城市天气更新
资源推荐
资源详情
资源评论
收起资源包目录
Weather Updates.zip (11个子文件)
output.JPG 23KB
cloudy.ico 6KB
main.py 3KB
.idea
.name 7B
misc.xml 185B
Weather Updates.iml 284B
inspectionProfiles
Project_Default.xml 989B
profiles_settings.xml 174B
modules.xml 282B
.gitignore 47B
cloud.gif 33KB
共 11 条
- 1
资源评论
传奇开心果编程
- 粉丝: 1w+
- 资源: 454
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功