module BBwin
def self.获取新闻网页源代码 #
#a = url_data("https://price.btcfans.com/") #网页例子
a = url_data("https://www.southcn.com/") #环球网地址,可自行替换
f = File.open("新闻源代码.txt","w+") #a+意思:讀取,写入,覆盖原文件,文件不存在自动创建
#p a
f.write(a) #写入a的内容文件
f.close #文件关闭
end #def
def self.获取新闻 #
#f = File.open("网页源代码.txt","w+")
@第几天 = 0
@第几天文字 = ""
@周几 = ""
@总数 =""
@行数 = 0
$subject=[]
$subject = File.readlines("新闻源代码.txt")#$subject等于行里所有行数
#p $subject.size
for i in 0...$subject.size #遍历所有行数
$subject[i].chomp! #!發生變化并返回
#$subject[i] =~ /比特币价格<(\d+)/i #错误示范
#p $subject[i]
loop do #由于是同一句中,因此需要反复执行,需检测同一句 (在低版本ruby貌似因没有scan方法(经人工智能询问))
#
# if ( line1 =~ /<a>(.*?)<b>/ ) #夹杂中的贪婪
$subject[i] =~ /blank">(.*?)</ #非贪婪型重复 匹配"(.*?)"
#注不能以包括"/"衞号, 比如</a>是不行,所以以<
if ($~ !=nil) and ($~ != "") and ($1 != nil) #如果是nil(无) “”(空的字串)则不执行
p $1,$~ #if $1 !=nil #查看匹配结果
# line1.sub!(/blank">(.*?)</, "")
$subject[i].sub!(/blank">(.*?)</, "") #删除匹配的结果,以免下一次匹到相同无限循环
# a = $subject[i]
#b = a.sub!(/ .*?target="_blank">/, "") #1 #分别删除前的 bababa...查看天气详情">
#if b == nil
#p "nil!!!",@行数
#next
#end
# c = b.sub!(/<.*?\/a>/, "") #1 #删除后的 <bababa.../a> #这里是匹配天气预报不是第几天
#@总数 += c
#@行数 += 1
# p c
elsif ($~ ==nil ) #如果匹不到就跳出循环进入下一句而不是同一句(跳出loop do)
break # loop do for #跳出循环loop do
end #if
end #loop do for
#p c1
end #for i
#p @总数
#f = File.open("test.txt","w+")
#f.write(a)
#f.close
end #def
end #module