自己写的一个正则表达式抓取页面内容
来源:互联网 发布:hadoop linux版本下载 编辑:程序博客网 时间:2024/05/05 18:47
前两天有空,自己写了一个正则表达式,抓取html页面中标签内的内容
页面内容:
<table cellspacing="0" cellpadding="3" rules="all" bordercolor="#B5D6E6" border="1" id="ctl00_ContentPlaceHolder1_DataListBill_ctl00_GridViewBill" bgcolor="White" width="100%">
<tr class="HeaderRow">
<th scope="col" bgcolor="#F3F3F3" width="82">日期</th>
<th scope="col" bgcolor="#F3F3F3" width="45">时间</th>
<th scope="col" bgcolor="#F3F3F3" width="339">跟踪记录</th>
</tr>
<tr class="Row">
<td width="82">2011-01-12</td><td width="45">20:24</td>
<td align="left" width="339">
<a href="#" ><font color=#FF0000> 北京上地 </font></a>
<a href="#"><font color=#0000FF> 杨金辉 </font></a>已收件,进入公司分捡</td>
</tr>
<tr class="AlternatingRow">
<td width="82">2011-01-12</td><td width="45">20:25</td>
<td align="left" width="339">快件离开<a href="#"><font color=#FF0000> 北京上地 </font></a>
,已发往<a href="#" ><font color=#FF0000> 北京 </font></a></td>
</tr>
<tr class="Row">
<td width="82">2011-01-12</td><td width="45">23:25</td>
<td align="left" width="339">快件到达<a href="#"><font color=#FF0000> 北京 </font></a>
,正在分捡中,上一站是<a href="#"><font color=#FF0000> 北京上地 </font></a></td>
</tr>
<tr class="AlternatingRow">
<td width="82">2011-01-12</td><td width="45">23:37</td>
<td align="left" width="339">快件离开<a href="#"><font color=#FF0000> 北京 </font></a>
,已发往<a href="#" ><font color=#FF0000> 天津 </font></a></td>
</tr>
<tr class="AlternatingRow">
<td width="82">2011-01-14</td><td width="45">17:17</td>
<td align="left" width="339"><a href="#"><font color=#FF0000> 北辰一部 </font></a>
<a href="#"><font color=#0000FF> 北辰一部 </font></a>正在派件</td>
</tr>
<tr class="Row">
<td width="82">2011-01-13</td><td width="45">21:44</td>
<td align="left" width="339">快件离开<a href="#" ><font color=#FF0000> 天津 </font></a>
,已发往<a href="#"><font color=#FF0000> 北辰一部 </font></a></td>
</tr>
</table>
下面是PHP代码部分:
<?php
$Info = array();
$content = file_get_contents("test.htmll"); //上面的代码是在test.html文件里的
$questionInfo = preg_replace('/[/r/t/n/s]*/is',"",$questionInfo);
$preg = "/(?:(?:<tr(?:[^/>]*)>)
(?:<td(?:[^/>]*)>([^/>]*)<//td>)
(?:<td(?:[^/>]*)>([^/>]*)<//td>)
(?:<td(?:[^/>]*)>([^>]*)<a(?:[^/>]*)><font(?:[^/>]*)>([^/>]*)<//font><//a>([^>]*)
<a(?:[^/>]*)><font(?:[^/>]*)>([^/>]*)<//font><//a>([^/>]*)<//td>)<//tr>)+?/is";
preg_match_all($preg,$content,$Info,PREG_SET_ORDER);
print_r($info);
PS:第一次写这种抓取规则,写的不好,各位看官要是有什么改进意见,还请指正!
- 自己写的一个正则表达式抓取页面内容
- 自己写了一个判断正则表达式的脚本
- 自己写的正则表达式代码
- 基于Source和正则表达式的Scala网页内容抓取
- 基于Source和正则表达式的Scala网页内容抓取
- 基于Source和正则表达式的Scala网页内容抓取
- 正则表达式抓取页面内所有的超链接
- js自己写的一个手机电话同时可以验证的正则表达式
- ObjC利用正则表达式抓取网页内容
- PHP 正则表达式抓取网页内容。
- 用正则表达式抓取制定网页的特定内容(本文以抓取a标签为例)
- 自己写的一个下载页面
- 正则表达式应用:匹配一个匹配内容外的内容
- jsoup通过获取的内容写自己的页面
- 正则表达式匹配引号中间的内容怎么写?
- 有史以来我自己写的最复杂的正则表达式!!
- 常用的正则表达式(不需要在自己写了)
- 自己写的正则
- 为什么使用Flex库
- C++ Primer学习笔记——$16 模板与泛型编程
- moss job 读取配置
- ssh整合常见问题及解决方案1
- [转]LoongSSO 大中型WEB系统单点登陆(SSO)整合利器
- 自己写的一个正则表达式抓取页面内容
- C++ Primer学习笔记——$17 异常
- C++ Primer学习笔记——$18 名字空间
- Application.Add、Application.RemoveAt、 Application.Remove、Application.Clear的用法
- C++ Primer学习笔记——$19 多重继承与虚继承
- C#调用Delphi写的DLL
- php数据库工厂连接类
- C++ Primer学习笔记——$20 内存分配
- VC6与VISIO2007的冲突,导至VC6.0中的打开文件和添加文件到工程会导致异常或点了没反应