孤魂 发表于 2008-11-5 15:33:01

相当于正则结合多模板采集

adminkk 发表于 2008-11-5 16:11:23

晕你也求助呀!

:ali12ls   我看看

孤魂 发表于 2008-11-5 17:54:07

:lol :lol 知之为知之,不知则问之

zyq309 发表于 2008-11-5 21:33:43

:hug:

关键是我也不会.

sushy 发表于 2008-11-6 08:55:19

要不你用最笨的办法?

第一套方案:

采集:

从<div class="PostContent">到 p>

删除<br />(*)</

删除</

当然,这里认为只有 <br></p>这样的标识符,没有<font>这样的标识符,否则就错。



提供第二套方案:

采集 从 <div class="PostContent">到 </div>

删除<br />(*)</p>
删除 </p>(*)</p>
删除 <p>

这样过滤可能效果要好一点。

aven 发表于 2008-11-6 12:47:09

老大,这个问题挺简单的哈!!

你没给出网址,我就简单在本地构造了两个页面,源码分别如下

index1.html<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk">
<title></title>
</head>
<body>
<div class="PostContent">
<p>段落1</p>
<p>段落2</p>
</div>
</body>
</html>index2.html


<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk">
<title></title>
</head>
<body>
<div class="PostContent">
<p>段落11111<br />
段落22222<br />
段落33333</p>
</div>
</body>
</html>

测试结果如下两图

第一种


第二种






规则看图中的吧,我也不打了。

吼吼!!!!!













sushy 发表于 2008-11-6 13:13:56

其实楼主的意思是只要第一段,由于<br />和</p>都是第一段结束的标识符。所以只要二者中有一个出现即可。

既然楼上熟悉正则,不妨写一个 以 <div class="PostContent">开头, 以<br /> 或 </p> 结束的表达式最好。

只不过我不太熟悉,不知道怎么表达罢了。

aven 发表于 2008-11-6 13:25:00

原帖由 sushy 于 2008-11-6 13:13 发表 http://bbs.locoy.com/images/common/back.gif
其实楼主的意思是只要第一段,由于和都是第一段结束的标识符。所以只要二者中有一个出现即可。

既然楼上熟悉正则,不妨写一个 以   开头, 以   或结束的表达式最好。

只不过我不太熟悉,不知道怎么表达罢了 ...



你说的这种情况更简单,
不过楼主好像不是你那意思,

野鬼 发表于 2008-11-6 21:36:18

老大太有大家风度了
支持火车头
注册了个比交牛X的ID
老大不删了就太谢了
:ali11ls
页: [1]
查看完整版本: 求一条正则采集规则