如何查找到网页中某一行文字里其中一部分的字符呢?[已解决]
本帖最后由 lotsunhim 于 2010-9-30 18:44 编辑#include <IE.au3>
$oIE = _IECreate("http://www.autoitx.com/forum-4-1.html")
$sMyString = "规范发帖"
$oLinks = _IELinkGetCollection($oIE)
For $oLink in $oLinks
$sLinkText = _IEPropertyGet($oLink, "innerText")
If StringInStr($sLinkText, $sMyString) Then
_IEAction($oLink, "click")
ExitLoop
EndIf
Next
现在想增加一个操作,查找网页中的内容,例如贴子第一句“论坛自改版及整顿以来,发帖规范了许多,让大家获得了更为准确的资料及良好的论坛秩序,”
然后得到当面这一行后边所有的“这是有目共睹的。”这一句字符,关于字符操作不清楚,望大家指点一下啊。 学习。。。。。。。。 #include <ie.au3>
$oIE = _IECreate('http://www.autoitx.com/thread-18544-1-1.html',0,0)
$oText = _IEBodyReadText($oIE)
FileWrite("temp.txt",$oText)
_IEQuit($oIE)
$str = FileReadLine("temp.txt",16)
FileDelete('temp.txt')
MsgBox(0,"",$str){:face (303):} #include <Array.au3>
#include <INet.au3>
$Source = _INetGetSource('http://www.autoitx.com/thread-18544-1-1.html')
$SR=StringRegExp($Source,'.+\>([^\s|\w]?.+)\。',3)
_ArrayDisplay($SR,"")
MsgBox(0,"",$SR) 要根据前面“论坛自改版及整顿以来,发帖规范了许多,让大家获得了更为准确的资料及良好的论坛秩序,”得到“这是有目共睹的。”StringRegExp应该怎么匹配呢,你给的代码只得到“论坛自改版及整顿以来,发帖规范了许多,让大家获得了更为准确的资料及良好的论坛秩序,这是有目共睹的。”前面这句关键词是固定的,后面的这句“这是有目共睹的。”非固定,有时是“这是有目共睹。”或是“是有目共睹的。”,怎么准确地得到后边可能非固定的文字呢。 试试~#include <INet.au3>
$Source = _INetGetSource('http://www.autoitx.com/thread-18544-1-1.html')
$key = '论坛自改版及整顿以来,发帖规范了许多,让大家获得了更为准确的资料及良好的论坛秩序,'
$str = StringRegExpReplace($Source, '(?s).+' & $key & '(.*?)(?=\<br />).+', '$1')
MsgBox(0, '', '"' & $str & '"') 本帖最后由 lotsunhim 于 2010-9-28 14:08 编辑
试试~
afan 发表于 2010-9-28 12:53 http://www.autoitx.com/images/common/back.gif
可以了,感谢啦!补充问一下,怎么根据链接文字得到URL地址啊?例如根据“提问交流”得到"http://www.autoitx.com/forum-4-1.html"这个链接呢?
页:
[1]