正则取网页的一些文本问题 [已解决]
本帖最后由 wjc826194 于 2011-12-4 02:08 编辑代码如下:#Include <String.au3>
#include <Array.au3>
#include <IE.au3>
$oIE = _IECreate ("http://www.fhzww.com/txt/42209.html", 0, 0)
$str=_IEDocReadHTML($oIE)
Local $Test = StringRegExp($str, '(?U)<td class="odd">正文(.*)</td>', 3)
If Not @Error Then MsgBox(0, '匹配数量: ' & UBound($Test), '其中元素为: ' & $Test)
_ArrayDisplay($Test, UBound($Test))这样写是取不到。。。#Include <String.au3>
#include <Array.au3>
#include <IE.au3>
InetGet("http://www.fhzww.com/txt/42209.html", "f:\aaa.tmp")
$str=FileRead("f:\aaa.tmp")
Local $Test = StringRegExp($str, '(?U)<td class="odd">正文(.*)</td>', 3)
If Not @Error Then MsgBox(0, '匹配数量: ' & UBound($Test), '其中元素为: ' & $Test)
_ArrayDisplay($Test, UBound($Test))这样写又能取到。。。
请问这里到底是错在哪。。想了好久都没看出哪错了。。悲剧``` 奇怪,两个都没问题啊? 本帖最后由 wua0550 于 2011-12-2 23:23 编辑
还没测试你的带码~~但就我的经验,我估计问题出在大小写上~~~~
InetGet得到的html相当于文件---另存为 电脑在执行的时候不管你已经打开的网页的状态直接从服务器重新申请一次下载操做得到的是html是大写的。
而_IECreate得到的是已打开的网址的html相当于 查看----源文件 正好这种方试得到的是小写的 大小写我测试过。。。一样不得。。。脚本没有出错`运行完是正常退出的``` 文字编码问题...
传送门:
http://www.autoitx.com/forum.php?mod=viewthread&tid=11042&highlight=%B1%E0%C2%EB 和编码无关吧。。。。在第一个例子 我用MSGBOX返回看到的内容和第二个例子保存成文本的内容是一样的` (?i)>正文\h*(.*)</td>问题在于:大小写、引号 回复 4# wjc826194
绝对的大小写问题一会给你上实例 本帖最后由 wua0550 于 2011-12-3 21:07 编辑
注意红色部分
#Include <String.au3>
#include <Array.au3>
#include <IE.au3>
$oIE = _IECreate ("http://www.fhzww.com/txt/42209.html", 0, 0)
$str=_IEDocReadHTML($oIE)
Local $Test = StringRegExp($str, '(?U)<td class="odd">正文(.*)</td>', 3)
If Not @Error Then MsgBox(0, '匹配数量: ' & UBound($Test), '其中元素为: ' & $Test)
If Not IsArray($Test)Then MsgBox(0,"用小写取不到","用小写什么也没取到")
Local $Test = StringRegExp($str, '(?U)<TD class=odd>正文(.*)</TD>', 3)
_ArrayDisplay($Test, UBound($Test)) - -确实 大小写是一方面 引号的问题比较严重 没有注意。。。 感谢各位 问题解决``` 注意红色部分
wua0550 发表于 2011-12-3 21:02 http://www.autoitx.com/images/common/back.gif
XILI 犀利!!!!!!!
页:
[1]