同时提取多条新闻中的文本一例
2018-09-07 12:38
本文为一个提取一批新闻网页中的文本的小程序,它可以将各篇新闻的内容存为以该新闻标题为文件名的文本文件。如有更好的处理方法,请和我联系:
这里以人民网中的“今日要闻”下的新闻为例.
<?php
($url) ? "" : $url = "今日要闻
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 = "
define(CONTENTS_DIR,"./contents/");
if(isset($url)&&$url!=""){
$str = implode("",file($url));
$str1=explode(<div align="right">,$str);//去掉文件没用的上半部分
$str2 = explode(<h4 align="center"> </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>,"\n"."",$str3[1]);
$str3[1]=str_replace(,"",$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实现微信发红包功能