我来混一下大赛 易语言和py两个版本的,易语言调用了精易模块,py调用了requests(我之前模块中过bi,du所以不带模块)
| 窗口程序集名 | 保 留 | 保 留 | 备 注 | | 窗口程序集_启动窗口 | | | |
| 变量名 | 类 型 | 静态 | 数组 | 备 注 | | 返回的数据信息 | 文本型 | | | | 天气 | 文本型 | | | | 城市 | 文本型 | | | | 温度 | 文本型 | | | | 湿度 | 文本型 | | | | 风级 | 文本型 | | | | 风向 | 文本型 | | | | 时间参数 | 文本型 | | | | 日期 | 文本型 | | | | 时间 | 文本型 | | |
返回的数据信息 = 访问和风天气 ()时间参数 = 时间_到文本 (, , , )日期 = 文本_取左边 (时间参数, “ ”, , )时间 = 文本_取右边 (时间参数, “ ”, , )筛选和风天气信息 (返回的数据信息, 城市, 温度, 天气, 湿度, 风级, 风向 )日志 (“城市:” + 城市 )日志 (“天气:” + 天气 )日志 (“温度:” + 温度 )日志 (“湿度:” + 湿度 )日志 (“风向:” + 风向 )日志 (“风级:” + 风级 )日志 (“日期:” + 日期 )日志 (“时间:” + 时间 )编辑框_信息. 加入文本 (“----感谢使用----”)| 变量名 | 类 型 | 静态 | 数组 | 备 注 | | 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 ("风向:",_风向)
蓝奏云:https://wwpj.lanzoul.com/i9Lo43b4irpe
|