用正则表达式提取网页信息
<td class="table001"> <BR><table width="75%" border="0" align="center" class="table001">
<tr>
<td width="26%" bgcolor="#FFAA00" height="30">
<div align="right"><b>农历:</b></div>
</td>
<td width="74%" bgcolor="#FFD680">冬月(小)廿八 星期四 射手座</td>
</tr>
<tr>
<td width="26%" bgcolor="#FFAA00" height="30">
<div align="right"><b>干支:</b></div>
</td>
<td width="74%" bgcolor="#FFD680">戊子年 生肖属鼠 甲子月 己亥日</td>
</tr>
<tr>
<td width="26%" bgcolor="#FFAA00" height="30">
<div align="right"><b><FONT COLOR=red>宜:</FONT></b></div>
</td>
<td width="74%" bgcolor="#FFD680">出行 沐浴 理发 补垣 塞穴</td>
</tr>
<tr>
<td width="26%" bgcolor="#FFAA00" height="30">
<div align="right"><b><FONT COLOR=green>忌:</FONT></b></div>
</td>
<td width="74%" bgcolor="#FFD680">入宅 安葬</td>
</tr>
<tr>
<td width="26%" bgcolor="#FFAA00" height="30">
<div align="right"><b>吉神宜趋:</b></div>
</td>
<td width="74%" bgcolor="#FFD680">玉堂 </td>
</tr>
<tr>
<td width="26%" bgcolor="#FFAA00" height="30">
<div align="right"><b>凶神宜忌:</b></div>
</td>
<td width="74%" bgcolor="#FFD680">游祸 血支 重日 朱雀 </td>
</tr>
<tr>
<td width="26%" bgcolor="#FFAA00" height="30">
<div align="right"><b>每日胎神占方:</b></div>
</td>
<td width="74%" bgcolor="#FFD680">占门床房内南</td>
</tr>
<tr>
<td width="26%" bgcolor="#FFAA00" height="30">
<div align="right"><b>五行:</b></div>
</td>
<td width="74%" bgcolor="#FFD680">平第木 闭执位</td>
</tr>
<tr>
<td width="26%" bgcolor="#FFAA00" height="30">
<div align="right"><b>冲:</b></div>
</td>
<td width="74%" bgcolor="#FFD680">冲蛇(癸已)煞西</td>
</tr>
<tr>
<td width="26%" bgcolor="#FFAA00" height="30">
<div align="right"><b>彭祖百忌:</b></div>
</td>
<td width="74%" bgcolor="#FFD680">己不破券二比并亡 亥不嫁娶不利新郎</td>
</tr>
</table>
</td>
</tr>
我想把其中的“宜:出行 沐浴 理发 补垣 塞穴”和“忌:入宅 安葬”提取出来,如何做呢?
谢谢各位!
[ 本帖最后由 abcabc8759 于 2008-12-26 13:12 编辑 ] 请各位高手帮帮我吧!我再顶顶! 提供一种思路,_IEBodyReadText($oIE) 分析文本实现更好一些 不好弄的,我用
#include <IE.au3>
$oIE = _IE_Example ("www.nongli.com/item4/index.asp")
$sText = _IEBodyReadText ($oIE)
MsgBox(0, "Body Text", $sText)
返回的结果为0
#Include <Array.au3>
#include <INet.au3>
$oIE=_INetGetSource("www.nongli.com/item4/index.asp")
$sReturn=StringRegExp($oIE,'"#FFD680">(.*)<(?i)/td>',3)
_ArrayDisplay($sReturn)
叁恨居士,太厉害了,一出手就给我整出来了,并且决不拖泥带水,谢谢,我在想着加工吧!估计读懂你的这些代码,我又得好久忙活了,谢谢!
[ 本帖最后由 abcabc8759 于 2008-12-25 19:47 编辑 ] #Include <Array.au3>
#include <INet.au3>
$oIE=_INetGetSource("www.nongli.com/item4/index.asp")
$sReturn=StringRegExp($oIE,'"#FFD680">(.*)<(?i)/td>',3)
_ArrayDisplay($sReturn)
我这样理解,不知道对不对
"#FFD680">是指信息的前缀
(.*)是指将所有信息,也就是"#FFD680">后面的所有信息
<(?i)/td>是指不区分大小写,直到/td处停止
我只是这样分析认为的,还请理解的朋友说一下我对不对,谢谢! 感觉我说的不对,我改了一下代码,根本不能运行!希望知道的朋友给我说一下啊!
我想把这些文件信息保存在一个文本文件中,可是怎么改都不行!
[ 本帖最后由 abcabc8759 于 2008-12-25 21:34 编辑 ] 你的理解没有错,不过,用右键得到的源码,有时和用函数得到的源码会有点不同
按上面的说法,试试读取显示的文字更加实际 谢谢liongodmien的指点! 或者直接吧换行给替换掉
StringRegExpReplace ($sHTML, "\r\n", "") 正则的功能的确强大 学习:face (8): 谢谢!学习一下。 学习了谢谢
页:
[1]
2