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


Posted in PHP onApril 03, 2007

至此,分页内容匹配进行完毕。 

文章内容匹配、分页内容匹配都进行完后,最后就只有“过滤”了,包括分页区域过滤和文章内容过滤。据本人的感觉,上面的两个规则都好写,只要找到全部链接中的“唯一性”代码就搞定,但过滤规则里却是欲说还休,道不尽的无穷奥妙……哈哈,感觉就是这样。尤其如我一般的新手,对“正则”这个东西如临天书,找了几个正则方面的软件吧仍觉无从下手,就只好依样画样,照猫画虎,依葫芦画瓢地摸索了。 

好了,闲话了。也累了,听听《加州旅馆》吧,在这:加州旅馆_老鹰乐队94现场 放松下吧。

你一眼看出来了过滤规则怎么写么,反正我是没能看得出来,没办法,新手就是新手呀。不管它,那就依照原范例的分页过滤规则写个规则试试看看结果吧:

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

采集一下:

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

dede3.1分页文字采集过滤规则详说(图文教程)续四
写个完整的分页过滤规则:
{dede:trim}<td align='center' height='30'>(.*)</option></select></td>{/dede:trim} 

再采集下,看看结果:

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

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

{!-- 节点基本信息 --} {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}
PHP 相关文章推荐
一个程序下载的管理程序(四)
Oct 09 PHP
dedecms模版制作使用方法
Apr 03 PHP
php 远程关机操作的代码
Dec 05 PHP
PHP 将逗号、空格、回车分隔的字符串转换为数组的函数
Jun 07 PHP
input file获得文件根目录简单实现
Apr 26 PHP
php利用单例模式实现日志处理类库
Feb 10 PHP
简单说说PHP优化那些事(经验分享)
Nov 27 PHP
Yii2.0 模态弹出框+ajax提交表单
May 22 PHP
Zend Framework入门教程之Zend_Registry组件用法详解
Dec 09 PHP
PHP中的函数声明与使用详解
May 27 PHP
Laravel 5.5 异常处理 &amp; 错误日志的解决
Oct 17 PHP
laravel与thinkphp之间的区别与优缺点
Mar 02 PHP
dede3.1分页文字采集过滤规则详说(图文教程)续二
Apr 03 #PHP
dede3.1分页文字采集过滤规则详说(图文教程)
Apr 03 #PHP
dedecms模版制作使用方法
Apr 03 #PHP
经典的PHPer为什么被认为是草根?
Apr 02 #PHP
在任意字符集下正常显示网页的方法二(续)
Apr 01 #PHP
在任意字符集下正常显示网页的方法一
Apr 01 #PHP
用PHP实现的生成静态HTML速度快类库
Mar 31 #PHP
You might like
Bo-Blog专用的给Windows服务器的IIS Rewrite程序
2007/08/26 PHP
让php处理图片变得简单 基于gb库的图片处理类附实例代码下载
2011/05/17 PHP
PHP内置的Math函数效率测试
2014/12/01 PHP
PHP中使用hidef扩展代替define提高性能
2015/04/09 PHP
PHP使用socket发送HTTP请求的方法
2016/02/14 PHP
php使用函数pathinfo()、parse_url()和basename()解析URL
2016/11/25 PHP
PHP实现Redis单据锁以及防止并发重复写入
2018/04/10 PHP
PHP+fiddler抓包采集微信文章阅读数点赞数的思路详解
2019/12/20 PHP
用js判断用户浏览器是否是XP SP2的IE6
2007/03/08 Javascript
javascript的原生方法获取数组中的最大(最小)值
2012/12/19 Javascript
js 调用本地exe的例子(支持IE内核的浏览器)
2012/12/26 Javascript
JavaScript动态提示输入框输入字数的方法
2015/07/27 Javascript
15个值得开发人员关注的jQuery开发技巧和心得总结【经典收藏】
2016/05/25 Javascript
动态更新highcharts数据的实现方法
2016/05/28 Javascript
详解angularJs模块ui-router之状态嵌套和视图嵌套
2017/04/28 Javascript
ionic实现底部分享功能
2017/05/11 Javascript
JavaScript实现的贝塞尔曲线算法简单示例
2018/01/30 Javascript
11个教程中不常被提及的JavaScript小技巧(推荐)
2019/04/17 Javascript
回顾Javascript React基础
2019/06/15 Javascript
Element-ui upload上传文件限制的解决方法
2021/01/22 Javascript
在windows下快速搭建web.py开发框架方法
2016/04/22 Python
Python网络编程详解
2017/10/31 Python
python检测IP地址变化并触发事件
2018/12/26 Python
如何基于Python实现电子邮件的发送
2019/12/16 Python
python集合删除多种方法详解
2020/02/10 Python
Django怎么在admin后台注册数据库表
2020/11/14 Python
BRASTY捷克:购买香水、化妆品、手袋和手表
2017/07/12 全球购物
高性能装备提升营地:Kammok
2019/02/27 全球购物
What's the difference between an interface and abstract class? (接口与抽象类有什么区别)
2012/10/29 面试题
结婚典礼证婚词
2014/01/08 职场文书
中学教师管理制度
2014/01/14 职场文书
个人贷款担保书
2014/04/01 职场文书
公司经理任命书
2014/06/05 职场文书
领导班子作风建设年个人整改措施
2014/09/29 职场文书
办公室个人总结
2015/02/28 职场文书
2015年个人审计工作总结
2015/04/07 职场文书