这是AU3正则BUG吗?
本帖最后由 itljl 于 2009-9-24 12:17 编辑#Include <Array.au3>
#include <INet.au3>
$downurl = "http://xl.dygod.com/html/tv/oumeitv/20090617/19649.html"
_movieDownURL($downurl)
Func _movieDownURL($downurl);分析出下载连接
$Str_s = 'href="'
$Str_e = '">ftp'
local $sReturn
$oIE = _INetGetSource($downurl)
$sReturn = StringRegExp($oIE, $Str_s & '(.*)' & $Str_e, 3)
_ArrayDisplay($sReturn)
Endfunc ;==>_movieDownURL大家看提出来的地址中,第五个,有乱码,而实际获得的源码中,是没有乱码的. 我也想知道,不过这种问题的帖子好像见过了,忘了叫什么了,也是乱码。。。。郁闷 stringmid
stringinstr
配合不是一样HAPPY么?为什么都要用正则呢? 正则较准确,而且有安全感,汗~ 感觉好像还是源码有问题,难道AU3正则会有这样BUG么?做个标记 你保存成文件,再从文件中读取,打开文件的时候用UTF8 方式 实验看看 学习中,不要打扰我 6# philips
你好,按照你说的方法,错的更厉害了 是错得太离谱了 AU3的正则对中文的支持不是很好 正则没有错,获取源码时就是乱码字符串了 同意11楼说法
你自己用 MsgBox(0,"", $oIE) 看看就知道问题原因了
建议用 InetGet("http://xl.dygod.com/html/tv/oumeitv/20090617/19649.html", "D:\test.txt")
然后在用正则处理文本 谢谢各位,先检查了网页源码,没看仔细,原来错在这一步,不是错在正则.谢谢各位. 如果不使用临时文件,可以这样(不使用_INetGetSource函数)#include <Array.au3>
$downurl = "http://xl.dygod.com/html/tv/oumeitv/20090617/19649.html"
_movieDownURL($downurl)
Func _movieDownURL($downurl);分析出下载连接
Local $sReturn, $Str_s = 'href="', $Str_e = '">ftp'
$oIE = _XmlHttp($downurl)
$sReturn = StringRegExp($oIE, $Str_s & '(.*)' & $Str_e, 3)
;_ArrayDisplay($sReturn)
MsgBox(0, 0, _ArrayToString($sReturn, @CRLF))
EndFunc ;==>_movieDownURL
Func _XmlHttp($Url) ;作者:Sanhen
Local $oHTTP, $sReturn
$oHTTP = ObjCreate("microsoft.xmlhttp")
$oHTTP.Open("get", $Url, False)
$oHTTP.Send()
$sReturn = BinaryToString($oHTTP.responseBody)
Return $sReturn
EndFunc ;==>_XmlHttp 14# afan
谢谢这位兄弟.
页:
[1]