php168讨论区论坛 » PHP168帮助中心 » 数据采集指南 » 整站采集教程(入门)--<1>

PHP168专用空间1G 150元/年 送域名和数据库

广告位招租,联系QQ:81684210

1G双线双IP高速空间+200M数据库=158

1G双线空间+CN+邮局+SQL=99 免费代办备案

整站系统v5.0正式版下载 PHP168整站系统安装及使用教程 PHP168整站4.0风格精选区

P8-Server服务器套件(方便大家在自己的电脑上调试)

« 1 2» Pages: ( 1/2 total )
本页主题: 整站采集教程(入门)--<1> 打印 | 加为IE收藏 | 收藏主题 | 上一主题 | 下一主题

龙城 该用户目前不在线

级别: 超级管理员
发帖: 10801
积分: 29062 点
铜板: 88 个
注册时间:2003-07-12
最后登录:2008-10-07

整站采集教程(入门)--<1>

第一步:
找到一个要采集的网站的列表页.如
http://wind.yinsha.com/ashow.php?sid=2



然后在后台采集参数那里新建一条采集规则.
规则名称:
这一项可以自由定义.

文章列表有多页,每页换一行
----------------------------------------------------------------------------------
这一项.你就复制多个列表页的网址进去吧,比如
http://wind.yinsha.com/ashow.php?sid=2
http://wind.yinsha.com/ashow.php?sid=2&order=publish&size=20&page=2
http://wind.yinsha.com/ashow.php?sid=2&order=publish&size=20&page=3
http://wind.yinsha.com/ashow.php?sid=2&order=publish&size=20&page=4


自定义正则语法规则:
这一项是最关键的.
--------------------------------------------------
打开任意一页被采集的列表页如
http://wind.yinsha.com/ashow.php?sid=2

查看网页源代码,然后把所有代码粘贴到Dreamweaver网页编辑器(必须选择代码模式)里

粘贴后.选择编辑模式,然后随便选定一个标题,如下图




再切换到代码模式.
如下图




我们选定红色框住那部分代码做正则处理.

<img src=images/11.gif border=0>
                   
            <a href="/a/2/200804/2008041513560754.htm" target=_blank>城市角落的暖意</a>
           
          </td>


处理后变成

<img src=images/11.gif border=0>
                   
            <a href="{url=NO"}" target=_blank>{title=NO<}</a>
           
          </td>

以上这段代码就是我们最终需要的正则规则了.
讲解如下:
标题换用了
{title=NO<}
链接地址换用了
{url=NO"}

换用的意思.就是为了实现通配符的意思.而通配符如何定义呢?
上面的固定格式如下
{变量名=规则}
这是一个固定的格式.
大家最需要设置的就是大括号里的规则.因为变量名就几个.如url title content
规则原理是这样的.
NO后面跟着什么字符.就代表不包含这样的字符.大家可以知道.地址当中不可能包含有"双引号的.所以我们定义为
{url=NO"}
对标题而言.标题里不可能包含有<这个符号的.所以我们定义为
{title=NO<}
不包含什么字符.我们如何判断呢.遵循一个就近右边原则.就是看他的周围是什么字符.那它就不包含此字符.
比如上面的
href="地址"
如果换成
href='地址'
这种单引号的话,那就要相应的把替换换成
{url=NO'}
又如果.连单引号与双引号都不是的话,如
href=地址 title=''>
他右边是空格.此时替换变成
{url=NO }
就是不含有空格了.
又如果是这种情况呢
href=地址>
他的右边是>号此时就要换成
{url=NO>}
通过以上几个例子,大家可以看出来.就是看他右边是什么符号.就输入什么符号.就近右边原则.
标题的取法跟地址一样的道理.不过标题一般都是采用<符号就比较通用了(个别情况除外,会另外有进阶教程).

这样设置好正则规则后,就可以把标题采集回来了.


然后再设置如何采集内容.

内容的采集.一般也就设置一项足够了.也就是正则规则.

随便打开一个被采集网站的内容页.如

http://wind.yinsha.com/a/2/200801/2008011921152760.htm

同样的道理.查看网页源代码.复制源代码到Dreamweaver网页编辑器(必须选择代码模式)里

然后再切换到编辑模式.
此时,如果文字内容太多的话,可以先删除一部份,必须在编辑模式下删除,主要是方便查看.
删除部分内容后.选中文章内容.

然后切换到代码模式.如下图







以上是删除了部份文章内容.方便查看.并且用同样的方法.查看了另一篇文章.目的是为了实现对比.查找通配替换.

我们可以看到.他的通配规则是如下



以上这段就是我们最终需要的正则规则了.
内容的正则格式为什么=号后面是*号.而不是NO符号呢.那是因为内容的字符串太多了.也太复杂了.统一使用*号.也就是固定这样使用.

最后大家值得注意的几点是.
取某段代码做正规的时候.不能太少.太少的话.就有可能跟其他地方有重复的情况出现.也就是不准确.
也不能太多.太多的话.就有可能不是通用了.成不了通配符了.适可而止.多次偿试. 另外注意不能有多余的空格与换行符

大家可以
自己采集一下这个网站
http://wind.yinsha.com/ashow.php?sid=2

这个站比较有代表性.
本帖最近评分记录:
  • 积分:+5(zxjxl918) 优秀文章
  • 积分:+5(toopd) 分享经验
  • 积分:+5(aspxp) 帮助网友
  • 顶端 Posted: 2008-04-16 09:51 | [楼 主]
    aspxp 该用户目前不在线
    优秀斑竹奖 宣传贡献奖 荣誉市民奖 风格专业户
    授权用户
    级别: 斑竹
    发帖: 1884
    积分: 450 点
    铜板: 555 个
    注册时间:2007-01-09
    最后登录:2008-10-07

    沙发````````
    *****************************************
    *      签名档欠费,点击续费!        *
    *****************************************
    顶端 Posted: 2008-04-16 09:52 | 1 楼
    toopd 该用户目前在线
    优秀斑竹奖 灌水天才奖 终身荣誉奖
    头衔:168论坛督察-专杀恶意混账 168论坛督察-专杀恶意混账

    1星级VIP用户
    授权用户
    级别: 斑竹
    发帖: 14246
    积分: 16 点
    铜板: 1207 个
    注册时间:2005-06-01
    最后登录:2008-10-07

    还没有写完?
    站长学习网问答:http://www.zxx6.com/w8/


    站长学习网:http://www.zxx6.com
    设计天空论坛:http://bbs.zxx6.com
    设计天空制作中心:http://www.designsky.org.cn
    我点我泡社区:http://www.5d5p.com
    顶端 Posted: 2008-04-16 09:54 | 2 楼
    fanory 该用户目前不在线



    级别: 托儿所
    发帖: 263
    积分: 24 点
    铜板: 0 个
    注册时间:2008-01-12
    最后登录:2008-09-11

    ..

    待续..
    顶端 Posted: 2008-04-16 09:54 | 3 楼
    660592 该用户目前不在线

    级别: 小学生
    发帖: 273
    积分: 129 点
    铜板: 20 个
    注册时间:2008-02-16
    最后登录:2008-10-07

    支持!!
    顶端 Posted: 2008-04-16 10:17 | 4 楼
    mojay 该用户目前不在线

    头衔:加油。 加油。
    级别: 斑竹
    发帖: 902
    积分: 1307 点
    铜板: 161 个
    注册时间:2007-10-22
    最后登录:2008-10-07

       
    顶端 Posted: 2008-04-16 10:27 | 5 楼
    mdjfdz 该用户目前不在线



    级别: 幼儿园
    发帖: 122
    积分: 100 点
    铜板: 12 个
    注册时间:2008-02-11
    最后登录:2008-10-05

    还没学到这,先收着
    顶端 Posted: 2008-04-16 10:38 | 6 楼
    gujx 该用户目前不在线

    级别: 幼儿园
    发帖: 89
    积分: 79 点
    铜板: 0 个
    注册时间:2007-04-08
    最后登录:2008-09-15

    支持~~
    *****************************************
    *      签名档欠费,点击续费!        *
    *****************************************
    顶端 Posted: 2008-04-16 14:40 | 7 楼
    imhehe 该用户目前在线
    荣誉市民奖 近期活跃奖
    头衔:Сhīňα Сhīňα
    授权用户
    级别: 博士后
    发帖: 2338
    积分: 97857 点
    铜板: 150 个
    注册时间:2005-07-05
    最后登录:2008-10-07

           


            ----  Qq: 157356311  Www.Com --


    *****************************************
    顶端 Posted: 2008-04-16 14:55 | 8 楼
    spyler 该用户目前不在线

    级别: 托儿所
    发帖: 637
    积分: 32 点
    铜板: 35 个
    注册时间:2007-03-24
    最后登录:2008-10-04

    简单的规则会写,复杂的还是不会。
    *****************************************
    *      签名档欠费,点击续费!        *
    *****************************************
    顶端 Posted: 2008-04-16 15:53 | 9 楼
    spyler 该用户目前不在线

    级别: 托儿所
    发帖: 637
    积分: 32 点
    铜板: 35 个
    注册时间:2007-03-24
    最后登录:2008-10-04

    哈哈 ,还在第一页  
    *****************************************
    *      签名档欠费,点击续费!        *
    *****************************************
    顶端 Posted: 2008-04-16 15:53 | 10 楼
    zzliss 该用户目前不在线

    授权用户
    级别: 硕士
    发帖: 1075
    积分: 9024 点
    铜板: 56 个
    注册时间:2007-01-20
    最后登录:2008-09-30

    坐着等。
    *****************************************
    *      签名档欠费,点击续费!        *
    *****************************************
    顶端 Posted: 2008-04-16 21:42 | 11 楼
    362631780 该用户目前不在线

    级别: 托儿所
    发帖: 38
    积分: 12 点
    铜板: 0 个
    注册时间:2007-07-07
    最后登录:2008-10-05

    shouxiale
    顶端 Posted: 2008-04-17 02:24 | 12 楼
    飞鸿踏雪 该用户目前不在线
    荣誉市民奖 灌水天才奖 五一雷锋奖 宣传贡献奖 优秀斑竹奖
    头衔:信念成就未来 信念成就未来
    授权用户
    级别: 总版主
    发帖: 8114
    积分: 15621 点
    铜板: 1313 个
    注册时间:2007-09-28
    最后登录:2008-10-07

    努力学习

    飞蓬欲卷世时寒  鸿鹄凌云志比天
      踏破尘路闲入梦  雪霁方晴作笑谈
    顶端 Posted: 2008-04-17 19:38 | 13 楼
    zxjxl918 该用户目前在线
    优秀斑竹奖 荣誉市民奖 终身荣誉奖
    头衔:超级版猪 超级版猪

    1星级VIP用户
    授权用户
    级别: 斑竹
    发帖: 6967
    积分: 3086 点
    铜板: 827 个
    注册时间:2005-03-31
    最后登录:2008-10-07

    好好好!
    顶端 Posted: 2008-04-17 21:57 | 14 楼
    mai123 该用户目前不在线

    级别: 托儿所
    发帖: 1223
    积分: 17 点
    铜板: 28 个
    注册时间:2008-04-07
    最后登录:2008-10-03

    但是有的网站不同啊``!!这个我就会了``不过有的不是这样的`我不是太会吖`??
    祝P8里的朋友天天开心~~~

    顶端 Posted: 2008-04-18 12:01 | 15 楼
    crespo1980 该用户目前不在线



    级别: 小学生
    发帖: 208
    积分: 120 点
    铜板: 10 个
    注册时间:2007-05-30
    最后登录:2008-09-22

    我顶阿,正在努力学习采集
    顶端 Posted: 2008-05-05 21:19 | 16 楼
    星月幻想 该用户目前不在线

    级别: 托儿所
    发帖: 198
    积分: 30 点
    铜板: 0 个
    注册时间:2008-02-07
    最后登录:2008-09-14

    学习  感谢LZ
    *****************************************
    *      签名档欠费,点击续费!        *
    *****************************************
    顶端 Posted: 2008-05-24 10:21 | 17 楼
    zqxsport 该用户目前不在线

    级别: 小学生
    发帖: 58
    积分: 154 点
    铜板: 0 个
    注册时间:2008-01-09
    最后登录:2008-09-24

    正在努力学习采集,有没有视频教程啊
    顶端 Posted: 2008-06-20 11:17 | 18 楼
    happy179 该用户目前不在线



    级别: 托儿所
    发帖: 3
    积分: 19 点
    铜板: 0 个
    注册时间:2008-06-20
    最后登录:2008-07-03

    占位
    顶端 Posted: 2008-06-23 21:47 | 19 楼
    « 1 2» Pages: ( 1/2 total )
    php168讨论区论坛 » 数据采集指南
    以铜板换广告位一 树形论坛V6.3 可整合P8 以铜板换广告位三 菜根站长-免费为新手仿制模板
    以铜板换广告位五 以铜板换广告位六 以铜板换广告位七 以铜板换广告位八

    Total 0.615516(s) query 4, Time now is:10-07 18:34, Gzip disabled
    Powered by PHPWind v5.3 Certificate Code © 2003-07 PHPWind.com Corporation 京ICP备05047353号