提取网页数据,200分求教!帮顶有分!(200分)

  • 主题发起人 主题发起人 zdwlp
  • 开始时间 开始时间
Z

zdwlp

Unregistered / Unconfirmed
GUEST, unregistred user!
小弟想写一个网页数据提取程序(新闻保存),昨天已经用idhttp取回了一批网页,网页格式相同,怎么样能把其中的标题、时间、来源、作者、分类、内容等数据提取到access库里面?

请给出可执行无误的代码,谢谢!
 
可以手工解析,也可以用WEBBROWSER装载进来后有IHTMLDocument2的接口进行数据收集
 
格式相同的话,比较好办
你就看看标题在哪行?从第几个字符开始?到哪儿结束?
时间在哪行?从第几个字符开始?到哪儿结束?
其他的也都一样处理
都取好,存入数据库就可以了
你没有网页格式,代码写出来,你也未必能用
自己写写吧
如果有问题,把代码和页面打成Zip文件发到twos@etang.com
我可以帮你看看
 
不好意思,忘了贴格式[:D]
下面是其中一个:
感谢两位兄弟,可惜小弟功力不济。
问了一些朋友,说用xml似乎简单一点,可惜没接触过……
大家继续讨论!

<html>
<title>星锋软件-资讯中心 - 软件瞭望 - 软件新闻 - “和欣”问世 中国将拥有自己的Windows - [www.htmlsky.com]</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="description" content="“和欣”问世 中国将拥有自己的Windows">
<meta name="keywords" content="“和欣”问世 中国将拥有自己的Windows">
<style type="text/css">
<!--
body,td{ font-size: 12px}

A:link { color: #000000; text-decoration: none}
A:visited { color: #000000; text-decoration: none}
A:hover { color: #FF0000; text-decoration: none}

.tombar { font-size: 12px; color: #ccff99; text-decoration: none}
a.tombar:hover { color: #ffffff; text-decoration:none}
a.tombar:link { color: #ccff99; text-decoration:none}
a.tombar:visited { color: #ccff99; text-decoration:none}

.cnav { color: #3360B2}
a.cnav:hover { color: #3360B2}
a.cnav:link {color: #3360B2; text-decoration:none}
a.cnav:visited { color: #3360B2; text-decoration:none}

.location { color: #000000}
a.location:hover { color: #000000}
a.location:link {color: #000000; text-decoration:none}
a.location:visited { color: #000000; text-decoration:none}

.tomg { color: #000000; font-size:12px}
a.tomg:hover { color: #FF0000}
a.tomg:link {color: #000000; text-decoration:none}
a.tomg:visited { color: #000000; text-decoration:none}

.input {border-left: 1px solid black; border-right: 1px solid black; border-top: 1px solid black; border-bottom:1px solid black; font-size: 12px;background:#FFFFFF; font-weight: normal}

.list { COLOR: #blue; FONT-SIZE: 14.9px; TEXT-DECORATION: none}
.list :link { COLOR: #blue; FONT-SIZE: 14.9px; TEXT-DECORATION: none}
.list :visited { COLOR: #999999; FONT-SIZE: 14.9px; TEXT-DECORATION: none}
.list :hover { COLOR: #blue; FONT-SIZE: 14.9px; TEXT-DECORATION: underline}
.list :active { COLOR: #blue; FONT-SIZE: 14.9px; TEXT-DECORATION: underline}

.text {font-size: 14.9px; line-height: 22px}

.title {color: #000000; font-size: 16px; line-height: 22px; font-weight:bold}
.whitefont { font-size: 12px; color: white; background-color:#419BBE; text-decoration: none; padding: 3px 0px 2px 0px}

.subject { font-size: 14.9px; color:red; font-weight: bold}
A.subject:link {COLOR: #ff0000}
A.subject:visited {COLOR: #ff0000}
A.subject:hover {color:#ff0000; text-decoration:underline}
//-->
</style>
</head>
<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<center>
<div id="body" style="position:relative;width:773px;">
<script language=javascript src="../in_top2.js"></script>
<div align="center">
<center>
</center>
</div>
<div align="center"></div>
<div align="center">
<center>
</center>
</div>
<div align="center">
<center>
<table border="0" cellspacing="0" style="border-collapse: collapse; border-left-width:1; border-right-width:1; border-top-style:solid; border-top-width:1; border-bottom-style:solid; border-bottom-width:1" bordercolor="#111111" width="773" id="AutoNumber3" bgcolor="#FCC51D" height="1" cellpadding="0">
<tr>
<td width="100%" height="6"><spacer></td>
</tr>
</table>
</center>
</div>
<table width="773" border="0" align="center" cellpadding="0" cellspacing="0" background="../images/bj1.gif">
<tr>
<td width="100%">您的位置:<a href="../index.htm">首页</a>-> <a href="../info/index.htm">资讯中心</a>-> <a href="../info/1_1.htm">软件瞭望</a>-> <a href="../info/7_1.htm">软件新闻</a>->
“和欣”问世 中国将拥有自己的Windows</td>
</tr>
</table>
<table width="773" border="0" align="center" cellpadding="0" cellspacing="0" background="../images/bj1.gif">
<tr>
<td width="170" align="center" valign="top">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<table width="169" border="0" align="right" cellpadding="0" cellspacing="0">
<tr>
<td height="20" background="../images/bj0.gif" style="padding-left:8px">
<div align="center">软件新闻</div>
</td>
</tr>
<tr>
<td>
<table width="158" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>
<div align="center">
<p style="line-height: 140% "><a href="../info/7_1.htm"><font color="#000000">软件新闻</font></a><br><a href="../info/34_1.htm"><font color="#000000">新鲜点评</font></a><br>
</div>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table width="169" border="0" align="right" cellpadding="0" cellspacing="0">
<tr>
<td height="20" background="../images/bj0.gif" style="padding-left:8px">强
档 内 容</td>
</tr>
<tr>
<td>
<table border="0" cellspacing="0" cellpadding="0" align="center">
<tr>
<td align="right" valign="bottom">
<table border="0" cellspacing="0" cellpadding="0" style="border-left: 1 solid #000000;border-right: 1 solid #000000; border-top: 1 solid #000000; border-bottom: 1 solid #000000;">
<tr>
<td style="line-height:20px">
<script language=javascript src="../ads/js_ads_img.js"></script>
</td>
</tr>
</table>
</td>
<td align="left" valign="top" width="3" bgcolor="#999999"><img src="../images/shim.gif" width="3" height="6"></td>
</tr>
<tr align="left" valign="top">
<td colspan="2" bgcolor="#999999"><img src="../images/shim.gif" width="6" height="3"></td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table width="169" border="0" align="right" cellpadding="0" cellspacing="0">
<tr>
<td height="20" background="../images/bj0.gif" style="padding-left:8px">精
品 推 荐</td>
</tr>
<tr>
<td>
<script language=javascript src="../ads/js_ads_left.js"></script>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table width="169" border="0" align="right" cellpadding="0" cellspacing="0">
<tr>
<td height="20" background="../images/bj0.gif" style="padding-left:8px">本类阅读TOP10</td>
</tr>
<tr>
<td> ·<a href="../info/76.htm">金山词霸2003惊爆大bug?[图]</a><br>·<a href="../info/95.htm">微软为Windows XP平台发布一套新娱乐软件</a><br>·<a href="../info/57.htm">难道是真的?预言微软将在2004年推Linux</a><br>·<a href="../info/66.htm">花花公子涉足视频游戏 其产品有裸体内容</a><br>·<a href="../info/136.htm">“和欣”问世 中国将拥有自己的Windows</a><br>·<a href="../info/121.htm">微软宣布首次通过网络下载的方式出售软件</a><br>·<a href="../info/33.htm">好评如潮 微软OneNote真的很神?</a><br>·<a href="../info/132.htm">瑞星免费发放1万套全功能限时网络版</a><br>·<a href="../info/79.htm">DirectX 9 将与12月19日发布</a><br>·<a href="../info/117.htm">微软将于12月31日停止对Win95的技术支持</a><br></td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table width="169" border="0" align="right" cellpadding="0" cellspacing="0">
<tr>
<td height="20" background="../images/bj0.gif" style="padding-left:8px">广
告 联 系</td>
</tr>
<tr>
<td>
<div align="center"><a href="mailto:admin@6113.com">admin@6113.com</a></div>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td> </td>
</tr>
</table>
</td>
<td width="603" valign="top"><br>
<table align=center border=0 cellpadding=3 cellspacing=0 width="96%">
<tr>
<td align=center> <b>“和欣”问世 中国将拥有自己的Windows</b>
<hr width="90%" size="1">
<b>作者</b>:郑千里 <b>来源</b>:科技日报 <b>加入时间</b>:2003-1-14 <a href="http://www.htmlsky.com">星锋软件</a><br>
<br>
</td>
</tr>
<tr>
<td class=text>
<P style='text-indent: 2em'>    由解放军总装备部科技委常委汪成为院士为主任、中国工程院副院长邬贺铨院士为副主任组成的鉴定委员会,1月11日所作的一项技术成果鉴定表明:继我国去年“龙芯”通用CPU研制成功,标志着我国作为IT硬件技术核心的CPU研制取得了关键的群体性突破;而今,《和欣》操作系统这一面向未来互联网技术发展的核心软件的开发成功,则意味着我国基础软件研究开发实现群体突破也有了良好开端。《和欣》操作系统(1.0版)是由北京科泰世纪科技有限公司和清华大学共同研制的。鉴定委员会听取了该项目的报告,并观看该操作系统的实际应用演示后认为:“《和欣》操作系统(1.0版)是一个面向网络服务基于构件、中间件技术的嵌入式操作系统。其特点是在面向下一代网络应用的操作系统体系结构上,采用了直接在操作系统内核上支持网络服务的技术,在嵌入式领域为实现网络服务提供了技术平台。该系统利用构件和中间件技术较好地解决了长期以来操作系统体系结构中的大内核和微内核在效率和灵活性两者之间的矛盾,实现了内核模块的灵活调度,是一种具有创新意义的操作系统体系结构。它的应用程序与Windows2000/xp操作系统实现二进制兼容。” <br>
<br>
<br>
  鉴定结果表明:《和欣》操作系统是一个具有我国自主知识产权的操作系统,其体系结构和实施技术有创新性,在嵌入式操作系统达到了国内领先,国际先进水平。 <br>
<br>
  据悉,《和欣》操作系统(1.0版)在研发和项目实施过程中,始终注意与市场和应用相结合,已在网络终端设备、手持电子信息设备、机床数字控制设备、高压大功率工业电源的控制系统和医疗诊断仪器等多方面试点应用,表明了这个系统的性能和实用性,为今后该系统向计算机桌面和服务器操作系统方向发展及核心软件产业的发展打下了坚实基础.<img border="0" src="../down_info.asp?id=136" width="1" height="1">
</td>
</tr>
</table>
</td>
</tr>
</table>
<table width="773" border="0" align="center" cellpadding="0" cellspacing="0" background="../images/bj1.gif">
<tr>
<td width="170" align="center" valign="top"> </td>
<td>
<table align=center border=0 cellpadding=0 cellspacing=0 width="580">
<tr>
<td height=30 align=right></td>
</tr>
<tr>
<td style="line-height: 30px"> </td>
</tr>
</table>
<table width="580" border="0" cellspacing="2" cellpadding="2" bgcolor=#D4D2D3 align=center>
<tr>
<td bgcolor=#F7F7F7>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="86%">??相关文章</td>
<td align=right width="14%"><b>进入相关讨论</b></td>
</tr>
</table>
</td>
</tr>
</table>
<table width="580" border="0" cellspacing="0" cellpadding="0" align=center>
<tr>
<td height=155 valign=top style="line-height: 20px;padding: 5px 5px 5px 40px">
<table>
<tr>
<td style=line-height: 150%><b>相关文章</b>:<br>
</td>
</tr>
</table>
<table>
<tr>
<td style=line-height: 150%><b>相关软件</b>:<br>
</td>
</tr>
</table>
<table>
<tr>
<td style=line-height: 150%>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
<script language=javascript src="../in_copy2.js"></script>
</div>
</center>
</body>
</html>
 
字符串处理而已
只是很烦罢了
 
var
abc:String;
begin
abc:=memo1.text;
abc:=StringReplace ( abc,#13#10,'', [rfReplaceAll] );
abc:=StringReplace ( abc,'</title>',#13#10+'<title>', [rfReplaceAll] );
memo1.text:=StringReplace ( abc,'<title>','<title>'+#13#10, [rfReplaceAll] );
showMessage(memo1.lines.strings[1]);
end;
//
这段代码可以提取标题,其他的于此类似
 
wqhatnet兄的方法可行,可否讲解一下StringReplace的用法?
 
不是摆在那里吗
abc:=memo1.text;
abc:=StringReplace ( abc,#13#10,'', [rfReplaceAll] );
就是将abc里面的回车换行替换为无,这样abc就成了一行了
然后再根据自己的需要分行
将自己想要的东西独离出来
 
看帮助吧,看String那一章.很详细的.
最好你先数行,然后再替换.这样比较快.
 
可是怎么提取新闻内容呢?关键是内容的行数不确定。
如果新闻内容下面还有要提取的数据怎么半?
 
这个得自己写代码判断吧
 
abc:=StringReplace ( abc,#13#10,'', [rfReplaceAll] );
举一反三
你不会这样的
abc:=StringReplace ( abc,'<title>',#13#10+'<新闻开始title>', [rfReplaceAll] );
abc:=StringReplace ( abc,'</title>',#13#10+'<新闻结束/title>', [rfReplaceAll] );


for i:=0 to memo1.lines.count-1 do
if pos('新闻开始',memo1.strings)<> 0 then
showMessage('新闻开始'');
 
本来应该昨天就结题的,但是写着程序就忘了。弄到今天早上8点,睡到10点起来继续写……
OK,问题已经解决,现在程序已经写出了,已经提取了50多M的新闻数据,感谢大家,感谢兄弟们!
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部