风讯官方论坛FoosunCMS交流区插件讨论[原创]精品贈送:可结合风讯的城市天气预报标签函数。

1  /  2  页   12 跳转 查看:4565

标题: [原创]精品贈送:可结合风讯的城市天气预报标签函数。

[原创]精品贈送:可结合风讯的城市天气预报标签函数。

效果:


天气:多云
温度:23 ℃~14 ℃
风向:西风 转 西南风
风力:4-5级


Response.write GetWeather("苏州","Sina")



Function GetWeather(CityStr,SiteKey)
dim Rurl,TakenHTML
if SiteKey="Sohu" then
  Rurl="
http://weather.news.sohu.com/hd.php"
else
  Rurl="
http://weather.sina.com.cn/images/figureWeather/map/eastOfChina.html"
end if
TakenHTML = GetPageContent(Rurl)
Response.Flush
Select case SiteKey
case "Sina"
  GetWeather=GetContent(TakenHTML,"drawcitys(' 城市:"&CityStr&"市 <br>","'); return true;",0)
case "Sohu"
  GetWeather=GetContent(TakenHTML,"城市:"&CityStr&"",""">",0)
case else
  GetWeather=GetContent(TakenHTML,"drawcitys(' 城市:"&CityStr&"市 <br>","'); return true;",0)
end Select
End Function


Function GetPageContent(Url)
Dim HTTPObj
On Error Resume Next
Set HTTPObj = Server.CreateObject("Microsoft.XMLHTTP")
With HTTPObj
  .Open "Get", Url, False, "", ""
  .Send
End With
if HTTPObj.Readystate <> 4 then
  Set HTTPObj = Nothing
  GetPageContent = False
  Exit Function
end if
GetPageContent = ResponseStrToStr(HTTPObj.ResponseBody)
Set HTTPObj = Nothing
End Function


Function ResponseStrToStr(BodyStr)
Dim ADOStreamObj
Set ADOStreamObj = Server.CreateObject("ADODB.Stream")
ADOStreamObj.Type = 1
ADOStreamObj.Mode = 3
ADOStreamObj.Open
ADOStreamObj.Write BodyStr
ADOStreamObj.Position = 0
ADOStreamObj.Type = 2
ADOStreamObj.Charset = "GB2312"
ResponseStrToStr = ADOStreamObj.ReadText
ADOStreamObj.Close
Set ADOStreamObj = Nothing
End Function
Function GetContent(Str,StartStr,LastStr,Flag)
Dim SearchIndex
On Error Resume Next
if Instr(LCase(Str),LCase(StartStr)) > 0 then
  Select Case Flag
  Case 0
    GetContent = Right(Str,Len(Str) - Instr(LCase(Str),LCase(StartStr)) - Len(StartStr) + 1)
    SearchIndex = Instr(LCase(GetContent),LCase(LastStr))
    if SearchIndex <= 0 then
    GetContent = ""
    else
    GetContent = Left(GetContent,SearchIndex - 1)
    end if
  Case 1
    GetContent = Right(Str,Len(Str) - Instr(LCase(Str),LCase(StartStr)) + 1)
    GetContent = Left(GetContent,Instr(LCase(GetContent),LCase(LastStr)) + Len(LastStr) - 1)
  Case 2
    GetContent = Right(Str,Len(Str) - Instr(lcase(Str),LCase(StartStr))-Len(StartStr) + 1)
  Case else
    GetContent = ""
  End Select
else
  GetContent = ""
end if
if Err.Number <> 0 then GetContent = ""
End Function


[此贴子已经被作者于2005-4-20 16:44:04编辑过]

引用
 

嘿嘿。我要精华和金币。吼吼。。。
引用
 

效果,效果,。。。。看到效果就给你加
做人要厚道,做站要低调。
引用
 

风讯研究室QQ群:2202324

汗。。。。
引用
 

很好  行货
引用
 

呵呵,我已经试过了,拿来就能用,直接执行就可以了
引用
 

[推荐]这个网站是用2。0做的很好进去看 看

呵呵。。本来就是嘛。


存为ASP文件就能用了。自已改成标签就行了。


[此贴子已经被作者于2005-4-20 16:57:10编辑过]

引用
 

你应该说的详细一些,要不然很多人可能一头雾水呀.比如,插在什么地方
引用
 

你给他们做个详细的制作步骤吧。
做人要厚道,做站要低调。
引用
 

直接插在网页里方便

引用
 

那我做好标签给大家下载。嘿嘿。
引用
 

请哪位老大推荐一个有很强会员功能的CMS

好东西,我早想要了
引用
 

已提供下载。
引用
 

???搞不明白 每个城市的天气都两样的啊

引用
 

是啊。所以作成标签咯。呵呵。
引用
 

哪里有下载的呀,找不到呀
引用
 

来晚了,没看见下载
引用
 

好的,收了
引用
 

好东西,收藏起来。
引用
 

好东西哦!
引用
 

我来加精,A老大不要生气哦~


嘿嘿,楼主的劳动是值得赞扬的~!

Foosun交流群  10792070    1883612  !

PS : FS4.0....万众期待的你 何时长大 ?
引用
 

吼吼。。。
引用
 

吼吼。。。
引用
 

不错的插件啊。
引用
 

不错

引用
 

多谢楼主


爱S你了

引用
 

不错,好东东

引用
 

独立页面:

新建文件Weather.asp,把下列代码复制到Weather.asp文件中。调用这文件即可。

<%
CityStr="三明"
'Response.write "三明市<br>"&GetWeather("三明","")
Response.write CityStr&"市<br>"&GetWeather(CityStr,"")


Function GetWeather(CityStr,SiteKey)
dim Rurl,TakenHTML
if SiteKey="Sohu" then
Rurl="http://weather.news.sohu.com/hd.php"
else
Rurl="http://weather.sina.com.cn/images/figureWeather/map/eastOfChina.html"
end if
TakenHTML = GetPageContent(Rurl)
Response.Flush
Select case SiteKey
case "Sina"
GetWeather=GetContent(TakenHTML,"drawcitys(' 城市:"&CityStr&"市 <br>","'); return true;",0)
case "Sohu"
GetWeather=GetContent(TakenHTML,"城市:"&CityStr&"",""">",0)
case else
GetWeather=GetContent(TakenHTML,"drawcitys(' 城市:"&CityStr&"市 <br>","'); return true;",0)
end Select
End Function

Function GetPageContent(Url)
Dim HTTPObj
On Error Resume Next
Set HTTPObj = Server.CreateObject("Microsoft.XMLHTTP")
With HTTPObj
.Open "Get", Url, False, "", ""
.Send
End With
if HTTPObj.Readystate <> 4 then
Set HTTPObj = Nothing
GetPageContent = False
Exit Function
end if
GetPageContent = ResponseStrToStr(HTTPObj.ResponseBody)
Set HTTPObj = Nothing
End Function

Function ResponseStrToStr(BodyStr)
Dim ADOStreamObj
Set ADOStreamObj = Server.CreateObject("ADODB.Stream")
ADOStreamObj.Type = 1
ADOStreamObj.Mode = 3
ADOStreamObj.Open
ADOStreamObj.Write BodyStr
ADOStreamObj.Position = 0
ADOStreamObj.Type = 2
ADOStreamObj.Charset = "GB2312"
ResponseStrToStr = ADOStreamObj.ReadText
ADOStreamObj.Close
Set ADOStreamObj = Nothing
End Function

Function GetContent(Str,StartStr,LastStr,Flag)
Dim SearchIndex
On Error Resume Next
if Instr(LCase(Str),LCase(StartStr)) > 0 then
Select Case Flag
Case 0
GetContent = Right(Str,Len(Str) - Instr(LCase(Str),LCase(StartStr)) - Len(StartStr) + 1)
SearchIndex = Instr(LCase(GetContent),LCase(LastStr))
if SearchIndex <= 0 then
GetContent = ""
else
GetContent = Left(GetContent,SearchIndex - 1)
end if
Case 1
GetContent = Right(Str,Len(Str) - Instr(LCase(Str),LCase(StartStr)) + 1)
GetContent = Left(GetContent,Instr(LCase(GetContent),LCase(LastStr)) + Len(LastStr) - 1)
Case 2
GetContent = Right(Str,Len(Str) - Instr(lcase(Str),LCase(StartStr))-Len(StartStr) + 1)
Case else
GetContent = ""
End Select
else
GetContent = ""
end if
if Err.Number <> 0 then GetContent = ""
End Function

%>

效果:比原作者的多了城市名

福建宁化第二中学网站(调试中):
http://www.nhez.cn  (风讯核心,调试中)
QQ:280601330
¥已转到免费1G空间,欢迎光临。¥
免费1G空间注册地址:
http://www.m