通过360天气得到返回数据,清洗下得到中国所有的省市县
.版本 2
.支持库 iext
.支持库 spec
.程序集 窗口程序集_启动窗口
.子程序 _按钮_取数据_被单击
.局部变量 局_返回数据, 文本型
.局部变量 局_县城数量, 整数型
局_返回数据 = 编码_Utf8到Ansi (网页_访问_对象 (“https://tianqi.so.com/weather/101190404”, 0, , , , , , , , , , , , , , , , , ))
局_返回数据 = 文本_取出中间文本 (局_返回数据, “cityData = ”, “;window.switch_city = cityData”, , )
局_返回数据 = 编码_usc2到ansi (局_返回数据)
局_县城数量 = 取所有县城 (局_返回数据)
.子程序 取所有县城, 整数型
.参数 参_json数据, 文本型
.局部变量 json, 类_json
.局部变量 局_省份数量, 整数型, , , 共有多少个对象(省份)
.局部变量 局_省份名, 文本型, , "0"
.局部变量 i, 整数型
.局部变量 局_城市数量, 整数型, , , 某个省份的城市数量
.局部变量 局_城市名, 文本型, , "0"
.局部变量 j, 整数型
.局部变量 局_县城数量, 整数型, , , 某个市的县城数量
.局部变量 局_县城名, 文本型
.局部变量 x, 整数型
.局部变量 局_总计县城数量, 整数型
json.解析 (参_json数据)
' 取出json数据中共有多少个对象(省份),放入到省份数组中
局_省份数量 = json.取所有属性名 (局_省份名, “”)
.计次循环首 (局_省份数量, i)
' 局_城市数量 = json.取所有属性名 (局_城市名, “黑龙江”),可取出某个省份中所有的城市,并放入到 城市数组中
局_城市数量 = json.取所有属性名 (局_城市名, 局_省份名 [i])
.计次循环首 (局_城市数量, j)
' 局_县城数量 = json.成员数 (“黑龙江.哈尔滨”) 可取出黑龙江哈尔滨市,共有多少个县城
局_县城数量 = json.成员数 (局_省份名 [i] + “.” + 局_城市名 [j])
.计次循环首 (局_县城数量, x)
' 局_县城名 = json.取通用属性 (“黑龙江.哈尔滨[1].namecn”, )
' 取出黑龙江,哈尔滨市的第x个县城的namecn属性(县城)
局_县城名 = json.取通用属性 (局_省份名 [i] + “.” + 局_城市名 [j] + “[” + 到文本 (x - 1) + “].namecn”, )
.如果真 (局_县城名 = 局_城市名 [j]) ' 取出来的数据,默认第一个县城名和城市名相同
到循环尾 ()
.如果真结束
透明标签_县城名.标题 = 局_省份名 [i] + “—” + 局_城市名 [j] + “—” + 局_县城名
局_总计县城数量 = 局_总计县城数量 + 1
处理事件 ()
.计次循环尾 ()
处理事件 ()
.计次循环尾 ()
处理事件 ()
.计次循环尾 ()
调试输出 (“中国共计:” + 到文本 (局_总计县城数量) + “ 个县城”)
返回 (局_总计县城数量)