xpban2006 发表于 2009-12-27 11:57:30

请教:我想收集一个网页上有多少个</table,总是数不对啊?

我想弄个小程序看看一页网页能有多少个</table ,但收集下来的数总不对。我已经替换了\s和\n成""也不行,还是数不对,不知怎么处理。谢谢!

xpban2006 发表于 2009-12-27 12:20:36

</table\S{30}正式这个,我想截一段</table后面一段字符。30就不行,10个数还对,我觉得还是有字符比较特别,要不然数为什么总弄不到呢。正则里就没个代表所有字符的表达式?

顽固不化 发表于 2009-12-27 13:47:27

$TXT=BinaryToString(InetRead("http://dvedit.5d6d.com"))
$TABs=StringRegExp($TXT,"(</)",3)
MsgBox(0,0,UBound($TABs))

sanmoking 发表于 2009-12-27 16:23:17

非正则的方法:[传送门]

smartzbs 发表于 2009-12-27 17:11:40

供参考:
#include <IE.au3>
$oIE = _IECreate("www.baidu.com")
$oInputs = _IETagNameGetCollection ($oIE, "table")
MsgBox(0, "共有table个数:", @extended)

xpban2006 发表于 2009-12-28 10:40:58

回复 3# 顽固不化


   我还想要后面的几十个字符,这个好像不太合适啊,谢谢了~

xpban2006 发表于 2009-12-28 10:44:00

回复 4# sanmoking


    前辈你的代码还没仔细研究,感觉有深度,看看,呵~,gui方面有没有好的文章?介绍几个好吗?

顽固不化 发表于 2009-12-28 11:07:34

回复顽固不化


   我还想要后面的几十个字符,这个好像不太合适啊,谢谢了~
xpban2006 发表于 2009-12-28 10:40 http://www.autoitx.com/images/common/back.gif

不知你要的是<table xxxx> 还是</table>,问题描述不清。

下面是返回<table xxxx>的XXXX之代码:#include <array.au3>
$TXT=BinaryToString(InetRead("http://dvedit.5d6d.com"))
$TABs=StringRegExp($TXT,"< (.*)>",3)
_ArrayDisplay($TABs)

xpban2006 发表于 2009-12-28 16:08:21

<table .*> 肯定没问题,就是</table这个.*这个肯定不行的,我是想随意截一段字符,我用的是.{30},但截得的</table总数不对,我觉得还是有特殊字符的原因,并不是只是<>里的,我试过了,不行,你试试。
我是想截一个table表,定位用的。

顽固不化 发表于 2009-12-28 21:57:20

肯定没问题,就是
xpban2006 发表于 2009-12-28 16:08 http://www.autoitx.com/images/common/back.gif

</table>多是单独一行,你想截取他后面的串?
页: [1]
查看完整版本: 请教:我想收集一个网页上有多少个</table,总是数不对啊?