找回密码
 加入
搜索
查看: 8141|回复: 11

[IE类操作] 正则取网页的一些文本问题 [已解决]

  [复制链接]
发表于 2011-12-2 15:20:48 | 显示全部楼层 |阅读模式
本帖最后由 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), '其中[0]元素为: ' & $Test[0])
_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), '其中[0]元素为: ' & $Test[0])
_ArrayDisplay($Test, UBound($Test))
这样写又能取到。。。
请问这里到底是错在哪。。想了好久都没看出哪错了。。悲剧```
发表于 2011-12-2 18:15:19 | 显示全部楼层
奇怪,两个都没问题啊?
发表于 2011-12-2 23:18:43 | 显示全部楼层
本帖最后由 wua0550 于 2011-12-2 23:23 编辑

还没测试你的带码~~但就我的经验,我估计问题出在大小写上~~~~
InetGet得到的html相当于文件---另存为   电脑在执行的时候不管你已经打开的网页的状态直接从服务器重新申请一次下载操做得到的是html是大写的。
而_IECreate得到的是已打开的网址的html相当于 查看----源文件 正好这种方试得到的是小写的
 楼主| 发表于 2011-12-3 01:17:07 | 显示全部楼层
大小写我测试过。。。一样不得。。。脚本没有出错`运行完是正常退出的```
发表于 2011-12-3 05:15:18 | 显示全部楼层
 楼主| 发表于 2011-12-3 18:28:40 | 显示全部楼层
和编码无关吧。。。。在第一个例子 我用MSGBOX返回看到的内容和第二个例子保存成文本的内容是一样的`
发表于 2011-12-3 20:45:34 | 显示全部楼层
(?i)>正文\h*(.*)</td>
问题在于:大小写、引号
发表于 2011-12-3 20:46:48 | 显示全部楼层
回复 4# wjc826194


    绝对的大小写问题一会给你上实例
发表于 2011-12-3 21:02:50 | 显示全部楼层
本帖最后由 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), '其中[0]元素为: ' & $Test[0])
If Not IsArray($Test)  Then MsgBox(0,"用小写取不到","用小写什么也没取到")
Local $Test = StringRegExp($str, '(?U)<TD class=odd>正文(.*)</TD>', 3)
_ArrayDisplay($Test, UBound($Test))
 楼主| 发表于 2011-12-4 02:07:47 | 显示全部楼层
- -确实 大小写是一方面 引号的问题比较严重 没有注意。。。
 楼主| 发表于 2011-12-4 02:07:57 | 显示全部楼层
感谢各位 问题解决```
发表于 2012-1-28 01:05:01 | 显示全部楼层
注意红色部分
wua0550 发表于 2011-12-3 21:02



    XILI 犀利!!!!!!!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-1 07:01 , Processed in 0.078842 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表