第一步:
找到一个要采集的网站的列表页.如
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 这个站比较有代表性.