您的位置:首页技术文章

同时提取多条新闻中的文本一例

【字号: 日期:2023-10-30 13:32:53浏览:19作者:馨心
本文为一个提取一批新闻网页中的文本的小程序,它可以将各篇新闻的内容存为以该新闻标题为文件名的文本文件。如有更好的处理方法,请和我联系: lwx3069@sina.com ;;;这里以人民网中的“今日要闻”下的新闻为例. <?php ($url) ? "" : $url = "http://www.unn.com.cn/GB/channel2/3/11/index.html";// 今日要闻 if(isset($url)&&$url!=""){ ;;;$str = implode("",file($url)); ;;;$str_ary = explode("<ul>",$str); ;;;$str_ary = explode("<li>",trim($str_ary[1])); ;;;for ($i=0; $i<8; $i++){ ;;;;;;if (strlen(trim($str_ary[$i]))<3){ ;;;;;;continue; ;;;;;;} ;;;;;;echo "新闻".$i.":".$str_ary[$i]; ;;;;;;$str1=strstr("$str_ary[$i]",'<a href="/'); ;;;;;;$str2=strstr("$str_ary[$i]",'" target'); ;;;;;;$len1=strlen("$str1"); ;;;;;;$len2=strlen("$str2"); ;;;;;;$len=$len1-$len2; ;;;;;;$url=substr("$str1",10,$len-10); ;;;;;;if (strlen(trim($url))!=0) { ;$url = "http://www.unn.com.cn/".$url; ;define(CONTENTS_DIR,"./contents/"); ;if(isset($url)&&$url!=""){ ;;;;$str = implode("",file($url)); ;;;;$str1=explode('<div align="right">',$str);;;;;//去掉文件没用的上半部分 ;;;;$str2 = explode('<h4 align="center">&nbsp; </h4>',$str1[1]); ;;;;//取出文件的下半部分,并去掉没用的下半部分,这时得到的都是有用的 ;;;;$str3=explode('</font><font size="+2"><b><font size="3">',$str2[0]);;;;//从整个有用部分取出文件标题和正文 ;;;;$str4=explode('</div>',$str2[0]);;;;//取出日期和时间 ;;;;$str5=explode('</font></b></font><font size="2">',$str3[1]);;;;;;//从标题和正文部分取出标题 ;;;;$title=str_replace("<br>","",$str5[0]); ;;;;$str3=explode('<p><font size="2">',$str2[0]);;;//从整个有用部分取出文件正文 ;;;;$str3[1]=str_replace('<br><br>&nbsp;&nbsp;&nbsp;&nbsp;',"n"."",$str3[1]); ;;;;$str3[1]=str_replace('&nbsp;',"",$str3[1]); ;;;;$str3=strip_tags($str3[1]); ;;;;$pf=trim($title).".txt";;;$ppf=fopen(CONTENTS_DIR."$pf",'w'); ;;;;fputs($ppf,$title); ;;;;fputs($ppf,"$str4[0]"); ;;;;fputs($ppf,$str3); } ;;;;;} ;;} } ?>;
标签: PHP