| 赞 | 76 |
| VIP | |
| 好人卡 | |
| 积分 | 147 |
| 经验 | |
| 最后登录 | 2025-12-9 |
| 在线时间 | 2175 小时 |
- 梦石
- 0
- 星屑
- 14720
- 在线时间
- 2175 小时
- 注册时间
- 2016-9-20
- 回帖
- 777
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有账号?注册会员
×
本帖最后由 ppspssss 于 2025-4-19 20:39 编辑
https://rpg.blue/thread-484811-1-1.html 原貼地址 @alexncf125 研究了好久 #1 <由此人士想获取本地天气(自动检测地区)并提供了api (主要是靠该api,有更好的获取天气网方法如韩小韩获取天气api https://api.vvhan.com/)
这个找了菜鸟教程里的https://www.runoob.com/regexp/regexp-syntax.html 才学到
我也不知获取天气有什么用 , 本来有可以实时温度和 风向 湿度之类的, 太麻烦弄个简略就算
*2025/4/10
目前该网页API还能用, “查看天气详情"> 变成了 "点击查看"> , 近六天天气也变成了 六天天气 因而第一个匹配会变成"nil" , 但代码方面我没改,需要试就请用原来的附件内自带的txt文本
追加注释
”bababa... “是代词代指省略号
[pre lang="ruby"]module BBwin
$time=0
def self.获取指定网页源代码 #
#a = url_data("https://price.btcfans.com/") #网页例子
a = url_data("http://i.tianqi.com/index.php?c=code&id=64")
f = File.open("网页源代码.txt","w+")
#f = File.open("网页源代码.txt","w+") #a+意思:讀取,写入,覆盖原文件,文件不存在自动创建
#$a = $a#.to_s
f.write(a) #VX ACE版本要变成变量才行不能单独使用
f.close
end #def
def self.获取近五天的天气 #
#f = File.open("网页源代码.txt","w+")
@第几天 = 0
@第几天文字 = ""
@周几 = ""
$subject=[]
$subject = File.readlines("网页源代码.txt")#$subject等于行里所有行数
#p $subject.size
for i in 0...$subject.size #遍历所有行数
$subject.chomp! #!發生變化并返回
#$subject =~ /比特币价格<(\d+)/i #错误示范
#p $subject
$subject =~ /<div class="date">/#匹配文本中的data-usd="后的数字
if $~ !=nil
#p $~[1]#匹配全部匹配到的的一个变量为$1
#p $subject
end #if
if $subject.include?("周一")
@周几 = "周一"
elsif $subject.include?("周二")
@周几 = "周二"
elsif $subject.include?("周三")
@周几 = "周三"
elsif $subject.include?("周四")
@周几 = "周四"
elsif $subject.include?("周五")
@周几 = "周五"
elsif $subject.include?("周六")
@周几 = "周六"
elsif $subject.include?("周日")
@周几 = "周日"
end #if
$subject =~ /近6天天气预报/
if $~ !=nil
a = $subject
b = a.sub!(/ .*?">/, "") #1 #分别删除前的 bababa...查看天气详情">
c = b.sub!(/<.*?\/a>/, "") #1 #删除后的 <bababa.../a> #这里是匹配天气预报不是第几天
c1 = c
# p c
end #if
$subject =~ /<p class="degrees">/
if $~ !=nil
#第几天
if @第几天 == 0
@第几天文字 = "第一天(今天)"
elsif @第几天 == 1
@第几天文字 = "第二天(明天)"
elsif @第几天 == 2
@第几天文字 = "第三天"
elsif @第几天 == 3
@第几天文字 = "第四天"
elsif @第几天 == 4
@第几天文字 = "第五天"
elsif @第几天 == 5
@第几天文字 = "第六天"
end #if
@第几天 += 1
a = $subject
#b = a.sub!(/">.*$/, "")
#b = a.sub!(/">.*?<s/, "")
# b = a.sub!(/">.*?<s/, "")
b = a.sub!(/ .*?">/, "") #分别删除前的 bababa...点击查看">
c = b.sub!(/<sup>.*?<\/p>/, "") #删除后的 <bababa.../p>
c2 = c
#p c
end #if
$subject =~ /<p class="climate">/
if $~ !=nil
a = $subject
b = a.sub!(/ .*?">/, "") #分别删除前的 bababa...climate"
c = b.sub!(/<.*?\/p>/, "") #删除后的 <bababa.../p>
#p c
c3 = c
p c1,@第几天文字,c2,c3
end #if
end #for i
end #def
end #module[/pre]
获取本地五天的天气.rar
(1.43 MB, 下载次数: 46)
问NPC请 要先点 获取指定网页源代码 再 获取近五天的天气 ,
近6天天气那个无视, 实际就五天,
忘了显示周几那个了, 仅供参考, 不会使用的请勿使用
##此前為2021.3.3号編緝
@有丘直方 发现此人想过有关天气设想, 我想这贴可能符合该楼主之设想, 召唤一下, (发现他5月20日最后登录不知还在不在)
https://rpg.blue/thread-402415-1-1.html |
评分
-
查看全部评分
|