痞子哥 发表于 2009-10-10 18:38:52

帮忙看下,这段代码,总是提不出来!

#Region AutoIt3Wrapper 预编译参数(常用参数)
#AutoIt3Wrapper_UseAnsi=y                                                                        ;编码
#AutoIt3Wrapper_Icon=                                                                                 ;图标
#AutoIt3Wrapper_Outfile=                                                                        ;输出文件名
#AutoIt3Wrapper_Outfile_Type=exe                                                        ;文件类型
#AutoIt3Wrapper_Compression=4                                                                ;压缩等级
#AutoIt3Wrapper_UseUpx=y                                                                         ;使用压缩
#AutoIt3Wrapper_Res_Comment=                                                                 ;注释
#AutoIt3Wrapper_Res_Description=                                                        ;详细信息
#AutoIt3Wrapper_Res_Fileversion=3.2.12.1
#AutoIt3Wrapper_Res_FileVersion_AutoIncrement=p                                ;自动更新版本
#AutoIt3Wrapper_Res_LegalCopyright=                                                 ;版权
;#AutoIt3Wrapper_Res_Field=AutoIt Version|%AutoItVer%                ;自定义资源段
#AutoIt3Wrapper_Run_Tidy=y                                                   ;脚本整理
#AutoIt3Wrapper_Run_Obfuscator=y                                                      ;代码迷惑
;#AutoIt3Wrapper_Run_AU3Check=                                                                 ;语法检查
;#AutoIt3Wrapper_Run_Before=                                                                 ;运行前
;#AutoIt3Wrapper_Run_After=                                                                        ;运行后
#EndRegion AutoIt3Wrapper 预编译参数(常用参数)
#cs ____________________________________
       
        AutoIt 版本: 3.2.13.7 (第二版)
        脚本作者:
        Email:
        QQ/TM:
        脚本版本:
        脚本功能:
       
#ce _______________脚本开始_________________
$g_szVersion = "天气预报"
If WinExists($g_szVersion) Then Exit ; 此脚本已经运行了
AutoItWinSetTitle($g_szVersion)

Opt("GUICloseOnESC", 0)
Opt("TrayAutoPause", 0)
Opt("TrayMenuMode", 1)
Opt("TrayOnEventMode", 0)
Opt("TrayIconHide", 0)
#include <IE.au3>
Local Const $weatherFile = @ScriptDir & "\天气预报.ini"
Local Const $city = IniRead($weatherFile, "天气预报", "城市", "上海")
IniWrite($weatherFile, "天气预报", "城市", $city)

$Url = "http://php.weather.sina.com.cn/search.php?city=" & $city
$oIE = _IECreate($Url, 0, 0)
$sHTML = _IEBodyReadHTML($oIE)

$array = StringRegExp($sHTML, "<(?i)TD class=weather vAlign=top align=middle width=160>(.*?)</(?i)td>", 1)
For $i = 0 To UBound($array) - 1
        $tqtemp = $array[$i]
Next
$weather = StringReplace($tqtemp, " ", " ")

$array2 = StringRegExp($sHTML, "<(?i)TD class=weatheren vAlign=top align=middle width=160>(.*?)</(?i)td>", 1)
For $i = 0 To UBound($array2) - 1
        $tqtemp2 = $array2[$i]
Next
$weatheren = StringReplace($tqtemp2, " ", " ")

$array3 = StringRegExp($sHTML, "<(?i)span class=big-cn>(.*?)<(?i)br>", 1)
For $i = 0 To UBound($array3) - 1
        $tqtemp3 = $array3[$i]
Next
$wind = StringReplace($tqtemp3, " ", " ")

$array4 = StringRegExp($sHTML, "<(?i)br>紫外线:(.*?)</(?i)span>", 1)
For $i = 0 To UBound($array4) - 1
        $tqtemp4 = $array4[$i]
Next
$ultraviolet = StringReplace($tqtemp4, " ", " ")

IniWrite($weatherFile, "天气预报", "天气", $weather)
IniWrite($weatherFile, "天气预报", "温度", $weatheren)
IniWrite($weatherFile, "天气预报", "风力", $wind)
IniWrite($weatherFile, "天气预报", "紫外线", $ultraviolet)

_IEQuit($oIE)
Exit

痞子哥 发表于 2009-10-10 18:49:12

在线等。。。

sxd 发表于 2009-10-10 22:37:18


$Url = "http://php.weather.sina.com.cn/search.php?city=" & $city
$oIE = _IECreate($Url)
$oweather = _IETagNameGetCollection($oIE,'H2',1)
$weather = _IEPropertyGet($oweather, "innertext")

$oweatheren = _IETagNameGetCollection($oIE,'DIV',19)
$weatheren = _IEPropertyGet($oweatheren, "innertext")

$owind = _IETagNameGetCollection($oIE,'LI',2)
$wind = _IEPropertyGet($owind, "innertext")

$oultraviolet = _IETagNameGetCollection($oIE,'LI',3)
$ultraviolet = _IEPropertyGet($oultraviolet, "innertext")

afan 发表于 2009-10-10 23:22:35

本帖最后由 afan 于 2009-10-11 00:19 编辑

或者改正则:
#include <IE.au3>

Opt("GUICloseOnESC", 0)
Opt("TrayAutoPause", 0)
Opt("TrayMenuMode", 1)

$g_szVersion = "天气预报"
If WinExists($g_szVersion) Then Exit ; 此脚本已经运行了
AutoItWinSetTitle($g_szVersion)

Local Const $weatherFile = @ScriptDir & "\天气预报.ini"
Local Const $city = IniRead($weatherFile, "天气预报", "城市", "上海")
$Url = "http://php.weather.sina.com.cn/search.php?city=" & $city
$oIE = _IECreate($Url, 0, 0)
$sHTML = _IEBodyReadHTML($oIE)
Local $weather = '', $weatheren = '', $wind = '', $ultraviolet = ''
$array = StringRegExp($sHTML, 'class=w-icon.+\s<H2>(.*)</H2>', 3)
If @error = 0 Then $weather = $array
$array = StringRegExp($sHTML, 'class=w-number>[^>]+>(.*)</SPAN>[^>]+>(.*)</SPAN>', 1)
If @error = 0 Then $weatheren = $array & '~' & $array
$array = StringRegExp($sHTML, '<LI>风力:(.*)\s</LI>', 1)
If @error = 0 Then $wind = $array
$array = StringRegExp($sHTML, '<LI>紫外线.+>(.*)</SPAN>', 1)
If @error = 0 Then $ultraviolet = $array
MsgBox(0, 0, $weather & $weatheren & $wind & $ultraviolet)
IniWrite($weatherFile, "天气预报", "城市", $city)
IniWrite($weatherFile, "天气预报", "天气", $weather)
IniWrite($weatherFile, "天气预报", "温度", $weatheren)
IniWrite($weatherFile, "天气预报", "风力", $wind)
IniWrite($weatherFile, "天气预报", "紫外线", $ultraviolet)
_IEQuit($oIE)
Exit

sxd 发表于 2009-10-11 00:05:35

//泪目还是正则有前途啊

afan 发表于 2009-10-11 00:15:15

5# sxd


又来。。。 今天蛋疼了吗?


还是大虾您的简单明了啊

sxd 发表于 2009-10-11 01:44:40

我经常在 疼与不疼之间徘徊
目前处在我 膜拜排行榜 第一二位的分别是 正则表达式 和 ahk的语法
页: [1]
查看完整版本: 帮忙看下,这段代码,总是提不出来!