针对网页html代码,提取中间的内容。测试数据文件见附件(重复部分只是测试用,为了说明同个文档内容,两个关键词包括起来的内容多处出现。实际中是不同的内容,当然两个关键词是相同的)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>错题本 QZZN论坛 公务员考试论坛 公务员论坛
</title>
<meta name="keywords" content="错题本,行政职业能力测试,qzzn">
<meta name="description" content="错题本, 在我们行测 ..">
<link rel="archives" title="QZZN论坛" href="http://bbs.qzzn.com/simple">
<link rel="alternate" type="application/rss+xml" title="RSS" href="http://bbs.qzzn.com/rss.php?fid=8">
<link rel="stylesheet" type="text/css" href="index.css" media="all">
</head>
<body onkeydown="keyCodes(event);">
<div id="wrapA">
<div id="main">
<form action="http://bbs.qzzn.com/read-htm-tid-9683163-fpage-0-toread--page-1.html" name="delatc" method="post">
<div class="t t2">
<table style="border-top: 0pt none; table-layout: fixed;" cellpadding="0" cellspacing="0" width="100%">
<tbody>
<tr class="tr1">
<th class="r_two" id="td_11471225" style="border: 0pt none ; padding: 5px 15px 0pt; overflow: hidden; width: 80%;" height="100%" valign="top">
<div class="tiptop">
<!--隐藏2-->
<div class="c"></div>
</div>
<h1 id="subject_11471225" class="fl"> </h1>
<div id="p_11471225" class="c"></div>
<div id="mag_11471225" class="tpc_content"><h6 class="quote"><span class="s3 f12 fn">管理提醒:
(清风淡鼠)
</span></h6><blockquote class="blockquote">错题原因:题目本来就是错误的<br>提示:大家在做题的时候一定要注意辨别题目的对错,以免错题浪费过多的时间
<span>(08-4-16 15:31)</span>
</blockquote></div>
<div class="tpc_content" id="read_11471225">来一个。<br>错题:__某仪仗队排成方阵,第一次排列若干人,结果多余10人,第二次比第一次每排增加3人,结果缺少29人,仪仗队总人数是多少?( )<br> A.4000 B.450 C.500 D.600<br>正确答案:期待高手<br>做错的原因:我认为每一个答案都不对。</div>
<!--复制帖子加链接------>
<script language=javascript>
document.body.oncopy=function(){
event.returnValue=false;
var t=document.selection.createRange().text;
var s="本文转载于,出处:";
window.clipboardData.setData('Text', t+'\r\n'+s);
}
</script>
<table style="border-top: 0pt none; table-layout: fixed;" cellpadding="0" cellspacing="0" width="100%">
<tbody>
<tr class="tr1">
<th class="r_two" id="td_11471225" style="border: 0pt none ; padding: 5px 15px 0pt; overflow: hidden; width: 80%;" height="100%" valign="top">
<div class="tiptop">
<!--隐藏2-->
<div class="c"></div>
</div>
<h1 id="subject_11471225" class="fl"> </h1>
<div id="p_11471225" class="c"></div>
<div id="mag_11471225" class="tpc_content"><h6 class="quote"><span class="s3 f12 fn">管理提醒:
(清风淡鼠)
</span></h6><blockquote class="blockquote">错题原因:题目本来就是错误的<br>提示:大家在做题的时候一定要注意辨别题目的对错,以免错题浪费过多的时间
<span>(08-4-16 15:31)</span>
</blockquote></div>
<div class="tpc_content" id="read_11471225">来一个。<br>错题:__某仪仗队排成方阵,第一次排列若干人,结果多余10人,第二次比第一次每排增加3人,结果缺少29人,仪仗队总人数是多少?( )<br> A.4000 B.450 C.500 D.600<br>正确答案:期待高手<br>做错的原因:我认为每一个答案都不对。</div>
<!--复制帖子加链接------>
<script language=javascript>
document.body.oncopy=function(){
event.returnValue=false;
var t=document.selection.createRange().text;
var s="本文转载于,出处:";
window.clipboardData.setData('Text', t+'\r\n'+s);
}
</script>
<table style="border-top: 0pt none; table-layout: fixed;" cellpadding="0" cellspacing="0" width="100%">
<tbody>
<tr class="tr1">
<th class="r_two" id="td_11471225" style="border: 0pt none ; padding: 5px 15px 0pt; overflow: hidden; width: 80%;" height="100%" valign="top">
<div class="tiptop">
<!--隐藏2-->
<div class="c"></div>
</div>
<h1 id="subject_11471225" class="fl"> </h1>
<div id="p_11471225" class="c"></div>
<div id="mag_11471225" class="tpc_content"><h6 class="quote"><span class="s3 f12 fn">管理提醒:
(清风淡鼠)
</span></h6><blockquote class="blockquote">错题原因:题目本来就是错误的<br>提示:大家在做题的时候一定要注意辨别题目的对错,以免错题浪费过多的时间
<span>(08-4-16 15:31)</span>
</blockquote></div>
<div class="tpc_content" id="read_11471225">来一个。<br>错题:__某仪仗队排成方阵,第一次排列若干人,结果多余10人,第二次比第一次每排增加3人,结果缺少29人,仪仗队总人数是多少?( )<br> A.4000 B.450 C.500 D.600<br>正确答案:期待高手<br>做错的原因:我认为每一个答案都不对。</div>
<!--复制帖子加链接------>
<script language=javascript>
document.body.oncopy=function(){
event.returnValue=false;
var t=document.selection.createRange().text;
var s="本文转载于,出处:";
window.clipboardData.setData('Text', t+'\r\n'+s);
}
</script>
</th>
</tr>
</tbody>
</table>
</div>
</form>
</div>
</div>
</body>
</html>
我想提取网页中所有下面内容,规律就是<!--隐藏2-->上面两行开始,
和<!--复制帖子加链接------>中间的内容。因为html代码不好处理,也可以只提取<!--隐藏2-->开始内容,前面的我再处理加进去。
<th class="r_two" id="td_11471225" style="border: 0pt none ; padding: 5px 15px 0pt; overflow: hidden; width: 80%;" height="100%" valign="top">
<div class="tiptop">
<!--隐藏2-->
<div class="c"></div>
</div>
<h1 id="subject_11471225" class="fl"> </h1>
<div id="p_11471225" class="c"></div>
<div id="mag_11471225" class="tpc_content"><h6 class="quote"><span class="s3 f12 fn">管理提醒:
(清风淡鼠)
</span></h6><blockquote class="blockquote">错题原因:题目本来就是错误的<br>提示:大家在做题的时候一定要注意辨别题目的对错,以免错题浪费过多的时间
<span>(08-4-16 15:31)</span>
</blockquote></div>
<div class="tpc_content" id="read_11471225">来一个。<br>错题:__某仪仗队排成方阵,第一次排列若干人,结果多余10人,第二次比第一次每排增加3人,结果缺少29人,仪仗队总人数是多少?( )<br> A.4000 B.450 C.500 D.600<br>正确答案:期待高手<br>做错的原因:我认为每一个答案都不对。</div>
<!--复制帖子加链接------>
一个文档内提取两关键词中间内容我知道在sed中是:
sed -n "/pattern1/,/pattern2/p" test.dat>result
但是,如果是pattern1,和pattern2在文档中多处出现的话,提取不成功?或者提取的结果不对。麻烦各位老大看看。。。。新手学sed,先行谢过了:)
—————————————————————————————————
转移自 DOS疑难解答 & 问题讨论 (解答室)
明显发错版块,因属论坛新手,故暂不予以处罚,望今后一起注意。
——管理员
—————————————————————————————————
Last edited by jesqiu on 2009-1-5 at 16:37 ]