| 窗口程序集名 | 保 留 | 保 留 | 备 注 |
| 窗口程序集_启动窗口 | | | |
| 变量名 | 类 型 | 静态 | 数组 | 备 注 |
| 返回的数据信息 | 文本型 | | |
| 天气 | 文本型 | | |
| 城市 | 文本型 | | |
| 温度 | 文本型 | | |
| 湿度 | 文本型 | | |
| 风级 | 文本型 | | |
| 风向 | 文本型 | | |
| 时间参数 | 文本型 | | |
| 日期 | 文本型 | | |
| 时间 | 文本型 | | |
返回的数据信息 =
访问和风天气 ()时间参数 =
时间_到文本 (, , ,
)日期 =
文本_取左边 (时间参数,
“ ”, ,
)时间 =
文本_取右边 (时间参数,
“ ”, ,
)筛选和风天气信息 (返回的数据信息, 城市, 温度, 天气, 湿度, 风级, 风向
)日志 (“城市:” + 城市
)日志 (“天气:” + 天气
)日志 (“温度:” + 温度
)日志 (“湿度:” + 湿度
)日志 (“风向:” + 风向
)日志 (“风级:” + 风级
)日志 (“日期:” + 日期
)日志 (“时间:” + 时间
)编辑框_信息.
加入文本 (“----感谢使用----”)| 变量名 | 类 型 | 静态 | 数组 | 备 注 |
| url | 文本型 | | |
| 协议头 | 文本型 | | |
| 参数1 | 字节集 | | |
| 参数2 | 文本型 | | |
url =
“https://www.qweather.com/”协议头 =
“User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36”参数1 =
网页_访问_对象 (url, 0, , , , 协议头, , , , , , , , , , , , ,
)参数2 =
编码_Utf8到Ansi (参数1
)调试输出 (参数2
)返回 (参数2
)编辑框_信息.
加入文本 (日志信息 +
#换行符 )|
| 筛选和风天气信息 | | |
|
| 和风天气信息 | 文本型 | | | |
城市 | 文本型 | | | | 温度 | 文本型 | | | | 天气 | 文本型 | | | | 湿度 | 文本型 | | | | 风级 | 文本型 | | | | 风向 | 文本型 | | | |
| 变量名 | 类 型 | 静态 | 数组 | 备 注 |
| 正则 | 正则表达式类 | | |
| 局_城市 | 文本型 | | |
| 局_温度 | 文本型 | | |
| 局_天气 | 文本型 | | |
\s*
(.*?
)" | \s*是换行符的意思
\s*相对湿度
| 变量名 | 类 型 | 静态 | 数组 | 备 注 |
| 局_风级 | 文本型 | | |
| 局_风向 | 文本型 | | |
\s*
(.*?
)局_城市 =
“”局_温度 =
“”局_天气 =
“”局_湿度 =
“”局_风级 =
“”局_风向 =
“” 正则.
创建 (“(.*?)”, 和风天气信息, 假, 真, 真,
假)
判断 (正则.
取匹配数量 () > 0
)
局_城市 = 正则.
取子匹配文本 (1, 1
)
城市 = 局_城市

城市 =
“未找到城市的信息”
正则.
创建 (“(\d+°)
”, 和风天气信息, 假, 真, 真, 假) ' 温度
判断 (正则.
取子匹配数量 () > 0
)
局_温度 = 正则.
取子匹配文本 (1, 1
)
温度 = 局_温度

温度 =
“未找到温度的信息”
正则.
创建 (“” + 局_温度 +
“
\s* (.*?)
”, 和风天气信息, 假, 真, 真, 假) ' 天气
判断 (正则.
取子匹配数量 () > 0
)
局_天气 = 正则.
取子匹配文本 (1, 1
)
天气 = 局_天气

天气 =
“未找到天气的信息”
正则.
创建 (“(.*?)
\s*相对湿度
”, 和风天气信息, 假, 真, 真, 假) ' 湿度
判断 (正则.
取子匹配数量 () > 0
)
局_湿度 = 正则.
取子匹配文本 (1, 1
)
湿度 = 局_湿度

湿度 =
“未找到湿度的信息”
正则.
创建 (“\s*(.级)\s*
”, 和风天气信息, 假, 真, 真, 假) ' 风级
判断 (正则.
取匹配数量 () > 0
)
局_风级 = 正则.
取子匹配文本 (1, 1
)
风级 = 局_风级

风级 =
“未找到风级别的信息”
正则.
创建 (“\s*” + 风级 +
“\s*
\s* (.*?)
”, 和风天气信息, 假, 真, 真, 假) ' 风向
判断 (正则.
取匹配数量 () > 0
)
局_风向 = 正则.
取子匹配文本 (1, 1
)
风向 = 局_风向

风向 =
“未找到风向的信息”
import requests
import re
def _访问和风天气 ():
url = "http://www.qweather.com"
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36",
"Referer": "https://www.example.com/", # 来源页面
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" # 可接受的内容类型
}
response = requests.get (url, headers=headers)
return response.text
def _提取城市 (和风天气信息):
# 创建
pattern = r"[b] (.*?)[/b]"
# 匹配
match = re.search (pattern, 和风天气信息)
#判断
if match:
return match.group (1)
else:
return "未找到城市的信息"
def _提取温度 (和风天气信息):
# 创建
pattern = r" (\d+°)
"
# 匹配
match = re.search (pattern, 和风天气信息)
#判断
if match:
return match.group (1)
else:
return "未找到温度的信息"
def _提取天气 (和风天气信息,温度):
# 创建
pattern = r"" + 温度 + r"
\s* (.*?)
"
# 匹配
match = re.search (pattern, 和风天气信息)
#判断
if match:
return match.group (1)
else:
return "未找到天气的信息"
def _提取湿度 (和风天气信息):
# 创建
pattern = r" (.*?)
\s*相对湿度
"
# 匹配
match = re.search (pattern, 和风天气信息)
#判断
if match:
return match.group (1)
else:
return "未找到湿度的信息"
def _提取风级 (和风天气信息):
# 创建
pattern = r"\s* (.级)\s*
"
# 匹配
match = re.search (pattern, 和风天气信息)
#判断
if match:
return match.group (1)
else:
return "未找到风级别的信息"
def _提取风向 (和风天气信息,风级):
# 创建
pattern = r"\s*" + 风级+ r"\s*
\s* (.*?)
"
# 匹配
match = re.search (pattern, 和风天气信息)
#判断
if match:
return match.group (1)
else:
return "未找到风向的信息"
_数据=_访问和风天气 ()
_城市=_提取城市 (_数据)
_温度=_提取温度 (_数据)
_天气=_提取天气 (_数据,_温度)
_湿度=_提取湿度 (_数据)
_风级=_提取风级 (_数据)
_风向=_提取风向 (_数据,_风级)
print ("和风天气")
print ("城市:",_城市)
print ("温度:",_温度)
print ("天气:",_天气)
print ("湿度:",_湿度)
print ("风级:",_风级)
print ("风向:",_风向)