以前(大概2005)写天涯的帖子解析器,有时帖子格式经常变,各个板块不一样,搞得死去活来。那时便想设计一个匹配语言,无奈功力不成气候。
采集器应用很广泛,于是设计一个简单匹配脚本。设计到实现花了大概4个小时,中间吃了顿饭...有人催吃饭啊。以前写过miniscript,搞这个小脚本较轻松,代码不谈了,没什么技术含量,看看下面测试案例便知怎么做。
正则表达式匹配不靠谱,对每个网站需要一一做匹配配置。
脚本例子
set url=http://www.xiaohuayoumo.com/cool-joke/20101210/8164.html
echo 连接$url ...
open $url
echo 连接成功
echo
echo 匹配标题...
skipTo <title>
next-->$title
echo 标题=$title
echo
echo 匹配内容...
skipTo <table width="100%"><tr><td height="320" valign="top">
until </td> -->$content
echo 内容=$content
echo
skipTo <div class="list lista">
echo --循环测试:输出匹配的连接--
loop
until </a>
#返回标题
back
#返回a tag
back
#保存 a tag
next-->$alink
#取a href属性
attr $alink href -->$alink
#取标题
next-->$atitle
#输出
echo $atitle=$alink
#移出a tag
next
next
while until </a>
echo --循环结束--
echo
echo ======打印变量=====
dumpVar
输出
连接http://www.xiaohuayoumo.com/cool-joke/20101210/8164.html ...
连接成功
匹配标题...
标题=冷笑话-为啥用蟑螂香后蟑螂出没得更频繁?-爱情-幽默笑话百分百,只有笑话的网站
匹配内容...
内容=<div style="margin:20px;"><style>.Khg618{display:none;}</style>校园论坛上有人问“学校用蟑螂香灭蟑螂后,怎么蟑螂出没得更频繁了呢,以前都没怎么看见的。”<br /><br />回答“你家人不见了你不着急么?”<br /><font color='#FFFFFF'>XiaoHuaYouMo.com-笑话幽默</font><div id="blank20px"></div>(阅读次数:<script src="/plus/count.php?view=y&aid=8164&mid=0" language="javascript"></script>)</div><div style="text-align:center;">上一篇:<a href='/cool-joke/20101205/8151.html'>看到了</a> 下一篇:没有了</div>
--循环测试:输出匹配的连接--
冷笑话=http://www.xiaohuayoumo.com/cool-joke/
短信笑话=http://www.xiaohuayoumo.com/sms-joke/
经典笑话=http://www.xiaohuayoumo.com/classical-joke/
谐音笑话=http://www.xiaohuayoumo.com/same-joke/
电脑笑话=http://www.xiaohuayoumo.com/computer-joke/
极品笑话=http://www.xiaohuayoumo.com/top-joke/
恶心笑话=http://www.xiaohuayoumo.com/sick-joke/
成人笑话=http://www.xiaohuayoumo.com/adults-joke/
英语笑话=http://www.xiaohuayoumo.com/english-joke/
儿童笑话=http://www.xiaohuayoumo.com/child-joke/
笑话故事=http://www.xiaohuayoumo.com/story-joke/
小笑话=http://www.xiaohuayoumo.com/short-joke/
交通笑话=http://www.xiaohuayoumo.com/traffic-joke/
宗教笑话=http://www.xiaohuayoumo.com/religion-joke/
职场笑话=http://www.xiaohuayoumo.com/job-joke/
愚人笑话=http://www.xiaohuayoumo.com/fool-joke/
医疗笑话=http://www.xiaohuayoumo.com/doctor-joke/
校园笑话=http://www.xiaohuayoumo.com/school-joke/
名人笑话=http://www.xiaohuayoumo.com/famous-joke/
古代笑话=http://www.xiaohuayoumo.com/old-joke/
爱情笑话=http://www.xiaohuayoumo.com/love-joke/
其他笑话=http://www.xiaohuayoumo.com/other-joke/
谜语大全=http://miyu.1or9.com/
成语谜语=http://miyu.1or9.com/chengyumiyu/
智力问答=http://miyu.1or9.com/zhiliwenda/
事物谜语=http://miyu.1or9.com/shiwumiyu/
诗文谜语=http://miyu.1or9.com/shiwenmiyu/
情趣谜语=http://miyu.1or9.com/qingqumiyu/
脑筋急转弯=http://miyu.1or9.com/njjzw/
名称谜语=http://miyu.1or9.com/mingchenmiyu/
开心谜语=http://miyu.1or9.com/kaixinmiyu/
搞笑谜语=http://miyu.1or9.com/gaoxiaomiyu/
儿童谜语=http://miyu.1or9.com/ertongmiyu/
词语谜语=http://miyu.1or9.com/ciyumiyu/
字谜=http://miyu.1or9.com/zimi/
在线小游戏=http://www.xiaoyouxila.com/
动作小游戏=http://www.xiaoyouxila.com/dongzuoyouxi/
益智小游戏=http://www.xiaoyouxila.com/yizhiyouxi/
敏捷小游戏=http://www.xiaoyouxila.com/minjieyouxi/
棋牌小游戏=http://www.xiaoyouxila.com/qipaiyouxi/
策略小游戏=http://www.xiaoyouxila.com/celueyouxi/
冒险小游戏=http://www.xiaoyouxila.com/maoxianyouxi/
搞笑小游戏=http://www.xiaoyouxila.com/gaoxiaoyouxi/
射击小游戏=http://www.xiaoyouxila.com/shejiyouxi/
体育小游戏=http://www.xiaoyouxila.com/tiyuyouxi/
休闲小游戏=http://www.xiaoyouxila.com/xiuxianyouxi/
故事大全=http://gushi.1or9.com/
哲理故事=http://gushi.1or9.com/zheligushi/
寓言故事=http://gushi.1or9.com/yuyangushi/
禅理故事=http://gushi.1or9.com/chanligushi/
成败故事=http://gushi.1or9.com/chengbaigushi/
名人故事=http://gushi.1or9.com/mingrengushi/
爱情故事=http://gushi.1or9.com/aiqinggushi/
亲情故事=http://gushi.1or9.com/qinqinggushi/
友情故事=http://gushi.1or9.com/youqinggushi/
校园故事=http://gushi.1or9.com/xiaoyuangushi/
职场故事=http://gushi.1or9.com/zhichanggushi/
人生故事=http://gushi.1or9.com/renshenggushi/
其他故事=http://gushi.1or9.com/qitagushi/
--循环结束--
======打印变量=====
content=<div style="margin:20px;"><style>.Khg618{display:none;}</style>校园论坛上有人问“学校用蟑螂香灭蟑螂后,怎么蟑螂出没得更频繁了呢,以前都没怎么看见的。”<br /><br />回答“你家人不见了你不着急么?”<br /><font color='#FFFFFF'>XiaoHuaYouMo.com-笑话幽默</font><div id="blank20px"></div>(阅读次数:<script src="/plus/count.php?view=y&aid=8164&mid=0" language="javascript"></script>)</div><div style="text-align:center;">上一篇:<a href='/cool-joke/20101205/8151.html'>看到了</a> 下一篇:没有了</div>
atitle=其他故事
title=冷笑话-为啥用蟑螂香后蟑螂出没得更频繁?-爱情-幽默笑话百分百,只有笑话的网站
alink=http://gushi.1or9.com/qitagushi/
url=http://www.xiaohuayoumo.com/cool-joke/20101210/8164.html