2 Star 1 Fork 0

single_yang/自动推送天气

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
Weather.py 1.88 KB
一键复制 编辑 原始数据 按行查看 历史
杨宇航 提交于 2020-08-18 14:50 . update Weather
import requests
import re
class Weather(object):
def __init__(self):
self.url = 'http://www.weather.com.cn/weather1d/101110101.shtml'
self.headers = {
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36'
}
def get_data(self):
response = requests.get(self.url, self.headers)
response.encoding = 'utf-8'
html = response.text
ADDRESS = re.findall('<title>(.*?)</title>', html)
AIM = re.findall('<input type="hidden" id="hidden_title" value="(.*?)月(.*?)日(.*?)时(.*?) (.*?) (.*?) (.*?)"',
html, re.S)
AIR_DATA = re.findall('<li class="li6 hot">\n<i></i>\n<span>(.*?)</span>\n<em>(.*?)</em>\n<p>(.*?)</p>\n</li>',
html, re.S)
RADITION = re.findall('<li class="li1 hot">\n<i></i>\n<span>(.*?)</span>\n<em>(.*?)</em>\n<p>(.*?)</p>\n</li>',
html, re.S)
SPORTS = re.findall('<li class="li2 hot">\n(.*?)\n<em>(.*?)</em>\n<p>(.*?)</p>\n</a>\n</li>', html, re.S)
CLOSE = re.findall('<li class="li3 hot" id="chuanyi">\n(.*?)\n<span>(.*?)</span>\n<em>(.*?)</em>\n<p>(.*?)</p>\n</a>\n</li>',
html,re.S)
#print(ADDRESS[0][0:4])
print("{} {}月{}日 {}".format(ADDRESS[0][:4], AIM[0][0], AIM[0][1], AIM[0][4]))
#print("更新时间:{}:00".format(AIM[0][2]))
print("今日天气:{}".format(AIM[0][5]))
print("今日温度:{}".format(AIM[0][6]))
#print("空气质量:{}".format(AIR_DATA[0][0]))
print("防晒指数:{}".format(RADITION[0][-1]))
print("运动指数:{}".format(SPORTS[0][-1]))
print("穿衣指数:{}".format(CLOSE[0][1] + ',' +CLOSE[0][-1]))
if __name__ == '__main__':
Weather = Weather()
Weather.get_data()
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Python
1
https://gitee.com/single_yang/Weather.git
[email protected]:single_yang/Weather.git
single_yang
Weather
自动推送天气
master

搜索帮助