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


Posted in PHP onOctober 09, 2006

本文为一个提取一批新闻网页中的文本的小程序,它可以将各篇新闻的内容存为以该新闻标题为文件名的文本文件。如有更好的处理方法,请和我联系:
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">  </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 相关文章推荐
PHP form 表单传参明细研究
Jul 17 PHP
php 数组排序 array_multisort与uasort的区别
Mar 24 PHP
解析如何通过PHP函数获取当前运行的环境 来进行判断执行逻辑(小技巧)
Jun 25 PHP
PHP英文字母大小写转换函数小结
May 03 PHP
CodeIgniter启用缓存和清除缓存的方法
Jun 12 PHP
大家在抢红包,程序员在研究红包算法
Aug 31 PHP
PHP+MySQL实现无极限分类栏目的方法
Dec 23 PHP
yii2分页之实现跳转到具体某页的实例代码
Jun 02 PHP
PHP实现找出链表中环的入口节点
Jan 16 PHP
php闭包中使用use声明变量的作用域实例分析
Aug 09 PHP
PDO::errorCode讲解
Jan 28 PHP
php实现简单的守护进程创建、开启与关闭操作
Aug 13 PHP
PHP+DBM的同学录程序(4)
Oct 09 #PHP
PHP+DBM的同学录程序(1)
Oct 09 #PHP
基于mysql的bbs设计(四)
Oct 09 #PHP
PHP+DBM的同学录程序(3)
Oct 09 #PHP
PHP+DBM的同学录程序(2)
Oct 09 #PHP
基于mysql的bbs设计(一)
Oct 09 #PHP
基于mysql的bbs设计(二)
Oct 09 #PHP
You might like
ASP和PHP实现生成网站快捷方式并下载到桌面的方法
2014/05/08 PHP
php使用curl获取https请求的方法
2015/02/11 PHP
PHP hex2bin()函数用法讲解
2019/02/25 PHP
jQuery ui1.7 dialog只能弹出一次问题
2009/08/27 Javascript
Javascript document.referrer判断访客来源网址
2020/05/15 Javascript
禁止ajax缓存获取程序最新数据的方法
2013/11/19 Javascript
js正则表达exec与match的区别说明
2014/01/29 Javascript
javascript获取本机操作系统类型的方法
2015/08/13 Javascript
javascript下使用Promise封装FileReader
2016/02/19 Javascript
jQuery post数据至ashx实例详解
2016/11/18 Javascript
async/await与promise(nodejs中的异步操作问题)
2017/03/03 NodeJs
JS实现仿饿了么在浏览器标签页失去焦点时网页Title改变
2017/06/01 Javascript
setTimeout时间设置为0详细解析
2018/03/13 Javascript
Vue CLI3 如何支持less的方法示例
2018/08/29 Javascript
JavaScript高阶教程之“==”隐藏下的类型转换
2019/04/11 Javascript
详解JavaScript之Array.reduce源码解读
2020/11/01 Javascript
[04:39]显微镜下的DOTA2第十三期—Pis卡尔个人秀
2014/04/04 DOTA
[46:20]CHAOS vs Alliacne 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
[08:06]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Elephant 选手采访
2021/03/11 DOTA
python命令行参数sys.argv使用示例
2014/01/28 Python
在Python的Flask框架中使用模版的入门教程
2015/04/20 Python
发布你的Python模块详解
2016/09/15 Python
使用python验证代理ip是否可用的实现方法
2018/07/25 Python
利用python-pypcap抓取带VLAN标签的数据包方法
2019/07/23 Python
Python实现随机取一个矩阵数组的某几行
2019/11/26 Python
Python如何对齐字符串
2020/07/30 Python
韩国知名的家庭购物网站:CJmall
2016/08/01 全球购物
英国知名衬衫品牌美国网站:Charles Tyrwhitt美国
2016/08/28 全球购物
汽车检测与维修专业求职信
2013/10/30 职场文书
生活小常识广播稿
2014/09/16 职场文书
药品销售内勤岗位职责
2015/04/13 职场文书
罗马假日观后感
2015/06/08 职场文书
婚礼上证婚人致辞
2015/07/28 职场文书
医学会议开幕词
2016/03/03 职场文书
创业者如何撰写出一份打动投资人的商业计划书?
2019/07/02 职场文书
Go语言空白表示符_的实例用法
2021/07/04 Golang