当前位置: 首页 > 图文教程 > 网络编程 > PHP > dede3.1分页文字采集过滤规则详说(图文教程)续四

PHP
php ignore_user_abort与register_shutdown_function 使用方法
PHP写MySQL数据 实现代码
phpmyadmin 访问被拒绝的真实原因
PHP 程序员也要学会使用“异常”
php MYSQL 数据备份类
PHP 类型转换函数intval
php 图像函数大举例(非原创)
PHP 输出缓存详解
PHP COOKIE设置为浏览器进程
ie6 动态缩略图不显示的原因
php 将bmp图片转为jpg等其他任意格式的图片
discuz7 phpMysql操作类
一个php Mysql类 可以参考学习熟悉下
php 分页函数multi() discuz
学习discuz php 引入文件的方法DISCUZ_ROOT
php fckeditor 调用的函数
mysql 性能的检查和优化方法
PHP 高级课程笔记 面向对象
PHP 多进程 解决难题
php 404错误页面实现代码

PHP 中的 dede3.1分页文字采集过滤规则详说(图文教程)续四


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-12   浏览: 284 ::
收藏到网摘: n/a

至此,分页内容匹配进行完毕。
文章内容匹配、分页内容匹配都进行完后,最后就只有“过滤”了,包括分页区域过滤和文章内容过滤。据本人的感觉,上面的两个规则都好写,只要找到全部链接中的“唯一性”代码就搞定,但过滤规则里却是欲说还休,道不尽的无穷奥妙……哈哈,感觉就是这样。尤其如我一般的新手,对“正则”这个东西如临天书,找了几个正则方面的软件吧仍觉无从下手,就只好依样画样,照猫画虎,依葫芦画瓢地摸索了。
好了,闲话了。也累了,听听《加州旅馆》吧,在这:加州旅馆_老鹰乐队94现场 放松下吧。
你一眼看出来了过滤规则怎么写么,反正我是没能看得出来,没办法,新手就是新手呀。不管它,那就依照原范例的分页过滤规则写个规则试试看看结果吧:
复制代码 代码如下:

{dede:trim}<td align='center' height='30'>(.*)页次{/dede:trim}

采集一下:


分页成功了,但废码多,还得改!
看下多余的代码特征,好象是过滤范围不够,后面的很多内容都要过滤掉。那好,把过滤区域再往后移,直接移至描红部分吧(其实我在改过滤规则的时候,改了好几次,这里就一次到位吧,不耽误朋友们的时间了):


写个完整的分页过滤规则:
复制代码 代码如下:

{dede:trim}<td align='center' height='30'>(.*)</option></select></td>{/dede:trim}

再采集下,看看结果:


好了,分页成功,无多余代码。至此,全部主要的代码部分完成。
结果在这里:
有分页的:党员干部作风整顿剖析材料
无分页的: 文艺部工作计划
写一个完成的站点规则:
复制代码 代码如下:

{!-- 节点基本信息 --}
{dede:item name='天水_工作计划_1页'
imgurl='/upimg' imgdir='../upimg' language='gb2312' typeid='1' macthtype='string'}
{/dede:item}
{!-- 采集列表获取规则 --}
{dede:list source='var' sourcetype='list'
varstart='' varend=''}
{dede:url value='http://www.tiansou.net/Html/Y_CYFW/R_Gzzj/F_Gzjh/index.html'}{/dede:url}
{dede:need}Gzjh/2007-{/dede:need}
{dede:cannot}Gzjh/2007-1{/dede:cannot}
{dede:linkarea}[var:区域]{/dede:linkarea}
{/dede:list}
{!-- 网页内容获取规则 --}
{dede:art}
{dede:sppage sptype='full'}<td align='center' height='30'>首页 上页[var:分页区域]页次{/dede:sppage}
{dede:note field='dede_archives.title' value='[var:内容]' comment='文章标题'
isunit='' isdown=''}
{dede:match}<title>[var:内容]--天水搜索</title>{/dede:match}
{dede:function}{/dede:function}
{/dede:note}
{dede:note field='dede_archives.sortrank' value='[var:内容]' comment='排序级别'
isunit='' isdown=''}
{dede:match}{/dede:match}
{dede:function}@me = time();{/dede:function}
{/dede:note}
{dede:note field='dede_archives.writer' value='[var:内容]' comment='文章作者'
isunit='' isdown=''}
{dede:match}{/dede:match}
{dede:function}{/dede:function}
{/dede:note}
{dede:note field='dede_archives.litpic' value='[var:内容]' comment='缩略图'
isunit='' isdown=''}
{dede:match}{/dede:match}
{dede:function}@me = @litpic;{/dede:function}
{/dede:note}
{dede:note field='dede_archives.pubdate' value='[var:内容]' comment='发布时间'
isunit='' isdown=''}
{dede:match}{/dede:match}
{dede:function}if(@me!="") @me = GetMkTime(@me);
else @me = time();{/dede:function}
{/dede:note}
{dede:note field='dede_archives.senddate' value='[var:内容]' comment='录入时间'
isunit='' isdown=''}
{dede:match}{/dede:match}
{dede:function}@me = time();{/dede:function}
{/dede:note}
{dede:note field='dede_addonarticle.body' value='[var:内容]' comment='文章内容'
isunit='1' isdown='1'}
{dede:match}</TR>
<TR>
<TD height="8"></TD>
</TR>
<TR>
<TD valign="top" class=Connet><p>[var:内容]</p>
</TD>
</TR>{/dede:match}
{dede:trim}<td align='center' height='30'>(.*)</option></select></td>{/dede:trim}
{dede:trim}
{/dede:trim}
{dede:trim}<param([^>]*)>{/dede:trim}
{dede:trim}<embed([^>]*)>([^>]*)</embed>{/dede:trim}
{dede:trim}<embed([^>]*)>{/dede:trim}
{dede:trim}</embed>{/dede:trim}
{dede:trim}<object([^>]*)>([^>]*)</object>{/dede:trim}
{dede:trim}<object([^>]*)>{/dede:trim}
{dede:trim}</object>{/dede:trim}
{dede:trim}<OBJECT([^>]*)>([^>]*)</OBJECT>{/dede:trim}
{dede:trim}<OBJECT([^>]*)>{/dede:trim}
{dede:trim}</OBJECT>{/dede:trim}
{dede:trim}<iframe([^>]*)>([^>]*)</iframe>{/dede:trim}
{dede:trim}<iframe([^>]*)>{/dede:trim}
{dede:trim}</iframe>{/dede:trim}
{dede:trim}<IFRAME([^>]*)>([^>]*)</IFRAME>{/dede:trim}
{dede:trim}<IFRAME([^>]*)>{/dede:trim}
{dede:trim}</IFRAME>{/dede:trim}
{dede:trim}<font([^>]*)>([^<]*)</font>{/dede:trim}
{dede:trim}<font([^>]*)>{/dede:trim}
{dede:trim}</font>{/dede:trim}
{dede:trim}<img([^>]*)>{/dede:trim}
{dede:trim}<a([^>]*)>([^<]*)</a>{/dede:trim}
{dede:trim}<a([^>]*)>{/dede:trim}
{dede:trim}</a>{/dede:trim}
{dede:trim}<td([^>]*)>([^>]*)</td>{/dede:trim}
{dede:trim}<td([^>]*)>{/dede:trim}
{dede:trim}</td>{/dede:trim}
{dede:trim}<tr([^>]*)>([^>]*)</tr>{/dede:trim}
{dede:trim}<tr([^>]*)>{/dede:trim}
{dede:trim}</tr>{/dede:trim}
{dede:trim}<tbody([^>]*)>([^>]*)</tbody>{/dede:trim}
{dede:trim}<tbody>{/dede:trim}
{dede:trim}</tbody>{/dede:trim}
{dede:trim}<table([^>]*)>([^>]*)</table>{/dede:trim}
{dede:trim}<table([^>]*)>{/dede:trim}
{dede:trim}</table>{/dede:trim}
{dede:trim} {/dede:trim}
{dede:function}{/dede:function}
{/dede:note}
{dede:note field='dede_archives.source' value='[var:内容]' comment='文章来源'
isunit='' isdown=''}
{dede:match}{/dede:match}
{dede:function}@me ='互联网'{/dede:function}
{/dede:note}
{/dede:art}