这是很久以前写的一个抓新浪新闻的东西了,目的是为了方便学校同学不花钱上内网看时事新闻。我是从新浪rss先抓取内容html网址,再进一步匹配标题,正文,图片……
今天又对代码做了点小改动:
//检查是否实视频,是视频则不抓取
if(strpos($title[1],"视频",0)!==false){//以前写的是!=
echo "不抓取视频!";
return false;
}
!==和!=,===和==他们的区别主要就是在判断值是否相等的同时,还要判断两者的类型。以前看书的时候看过,不过到还没真正应用到过自己的代码里面。
http://www.stuhome.net/readnews/ 这就是我以前写的那个抓新闻板块。
<?php
require_once(dirname(__FILE__)."/../global.php");
//抓取网页内容
set_time_limit(0);
$line = file_get_contents("http://rss.sina.com.cn/sports/basketball/nba.xml");
$line = strstr( $line, "<item>");
$line=explode("</item>",$line);
$count=count($line);
for($i=0;$i<$count;$i++){
eregi ("<pubDate>(.*)</pubDate>",$line[$i],$time);
//取得链结
if (eregi ("<link>(.*)</link>",$line[$i],$out)) {
$news = file_get_contents("$out[1]");
if(eregi ("<h1>(.*)</h1>",$news,$title)){ //匹配标题
preg_replace("/ /","",$title[1]); //去除标题中的空格
$title[1] = trim($title[1]);
$title[1]=strip_tags($title[1]); //去除标题中的的HTML标记
//$title[1] = addslashes($title[1]);
//检查是否实视频,是视频则不抓取
if(strpos($title[1],"视频",0)!==flase){
echo "不抓取视频!";
//exit;
return false;
}
echo $title[1];
echo "<br>";
}else{
$title[1]="";
}
$dt=getdate();
$hours=$dt[hours];
$publish_time=$dt[year]."-".$dt[mon]."-".$dt[mday]."-".$hours."-".$dt[minutes]."-".$dt[seconds];
if($title[1]!=""){
$sql_title="select title from news where title='$title[1]'";
$result=$DB->fetch_one_array($sql_title);
if(empty($result)){
//取出正文部分
$news = strstr($news,"<!--正文内容开始-->");
$news = explode("<!--正文内容结束-->", $news);
//匹配正文内容
if(eregi ("<p>(.*)</p>",$news[0],$content)){
echo $content[1];
echo "<br>";
}else{
$content[1]="";
}
//匹配图片路径
$picture_name="";
$img="";
$news=explode("border",$news[0]);
for($j=0;$j<count($news);$j++){
if(preg_match("/http:\/\/i(.*)\.(jpeg|png|jpg)/i",$news[$j],$picture)){
$img[$j]=GrabImage($picture[0],"");
if($img[$j]){
$imgpath[$j]=dirname(__FILE__)."/pictures/".$img[$j];
echo '<pre><img src='.$imgpath[$j].'></pre>';
}else{
$img[$j]="";
}
}else{
$picture[0]="";
$img[$j]="";
}
$picture_name.=$img[$j];
}
}
}
}
}
?>
<?php
// Function: 获取远程图片并把它保存到本地
// $url 是远程图片的完整URL地址,不能为空。
// $filename 是可选变量: 如果为空,本地文件名将基于时间和日期自动生成.
function GrabImage($url,$filename="") {
if($url==""){
return false;
}
if($filename=="") {
$ext=strrchr($url,".");
$temext = strrchr(strtolower($url),".");
if($temext!=".jpg"&$temext!=".jpeg"){
return false;
}
$filename=date("dMYHis").$ext;
$filepath=dirname(__FILE__)."/pictures/".$filename;
}
ob_start();
readfile($url);
$img = ob_get_contents();
ob_end_clean();
$size = strlen($img);
$fp2=fopen($filepath, "a");
fwrite($fp2,$img);
fclose($fp2);
return $filename;
}
?>
分享到:
相关推荐
新闻系统是Web开发中的常见应用,它涉及到PHP编程语言与MySQL数据库的结合使用。在这个"新闻php+phpmysql"项目中,我们可以学习到如何构建一个简单的新闻发布和管理系统。以下是关于这个主题的一些关键知识点: 1. ...
"php100新闻发布系统源码"是一款基于PHP编程语言构建的新闻信息发布平台。这个系统提供了全面的功能,便于用户发布、管理和展示新闻内容。在深入理解这个系统之前,我们需要了解PHP的基本概念。PHP(Hypertext ...
### PHP实例之新闻发布系统知识点解析 #### 数据库结构与创建 在本实例中,新闻发布系统的数据库结构被定义为一个名为`news`的表。该表包含以下字段: - **id**:整型(INT),自动递增(AUTO_INCREMENT),作为...
【PHP 新闻与图片发布系统】是一个基于PHP编程语言和MySQL数据库构建的管理平台,用于高效、便捷地发布和管理新闻以及图片内容。这个系统旨在为网站内容的更新和维护提供一个用户友好的界面,使得非技术人员也能轻松...
**PHP100_PHPnew新闻系统详解** PHP100_PHPnew新闻系统是一个专为初学者设计的学习资源,它提供了一个完整的新闻管理平台的实例,让学习者能够深入理解PHP编程语言以及相关技术在实际项目中的应用。在这个系统中,...
【标题】"php新闻管理系统(简单).rar" 涉及的核心知识点是PHP编程语言以及简单的新闻发布系统设计。PHP是一种广泛使用的服务器端脚本语言,尤其在网页开发领域具有重要地位。这个压缩包可能包含了一个用PHP实现的...
在本文中,我们将深入探讨如何使用PHP和MySQL构建一个简单的新闻发布系统。这个系统结合了AJAX、JSON以及富文本编辑器UEditor等技术,旨在帮助初学者理解和实践Web开发中的关键概念。 首先,PHP是一种广泛使用的...
【PHP+MySQL 新闻发布系统】是一个基于PHP编程语言和MySQL数据库技术开发的动态网站系统。这个系统的主要功能包括新闻的展示、分类管理和后台管理,为用户提供了一个方便、高效的新闻发布和管理平台。 首先,让我们...
【PHP+MySQL新闻发布的系统构建】 在Web开发领域,PHP和MySQL是常用的技术组合,用于构建动态、数据驱动的网站,如新闻发布系统。这个“PHP+mysql的新闻发布系统”就是一个典型的示例,它允许用户发布、管理和展示...
"php100新闻代码"是一个专为PHP爱好者和开发者提供的资源,它涵盖了构建新闻系统的核心功能,如新闻查看和分页。这个项目基于PHP100平台,一个旨在教授PHP编程和Web开发的在线教育平台。通过学习和研究这个代码库,...
【PHP新闻网站系统源码.zip】是一个包含PHP编程语言实现的新闻网站系统的完整源代码包。这个项目适用于学习PHP编程的学生以及对网站开发感兴趣的初学者,尤其是作为毕业设计的参考。源码通常包括了前端用户界面和...
【PHP新闻发布的系统详解】 PHP新闻发布的系统是一种基于Web的动态内容管理系统,它利用PHP编程语言,结合MySQL数据库和Smarty模板引擎,采用面向对象(Object-Oriented Programming, OOP)的设计模式进行开发。...
(2)在修改之后,在浏览器地址栏中输入http://localhost/cms/install.php即可配置新闻网站; (3)配置完成之后必须将install.sql和install.php文件修改为--install.sql和--install.php. (4)配置完成之后,在地址栏...
【PHP语言新闻系统详解】 PHP(Hypertext Preprocessor,超文本预处理器)是一种广泛使用的开源脚本语言,尤其在Web开发领域中占有重要地位。它以嵌入HTML的方式编写,使得网页动态化,功能丰富。这个“PHP语言新闻...
【PHP新闻网站系统】是一个基于PHP编程语言和MySQL数据库构建的在线新闻发布平台。该系统旨在为用户提供一个方便快捷的方式来发布、管理和展示新闻内容。在理解这个系统之前,我们需要熟悉PHP和MySQL的基础知识。 ...
本文将深入探讨基于PHP的简单新闻发布管理系统,该系统具备文章发布、修改和删除的功能,适用于初学者理解PHP与HTML的交互以及基础的数据库操作。 首先,`connect.php`文件是数据库连接文件,它包含了与MySQL数据库...
【标题】"简单的php新闻程序"所涉及的知识点主要集中在使用PHP编程语言开发一个新闻管理系统。这个系统可能是用于展示和管理网站上的新闻内容,提供发布、编辑和删除新闻的功能。 【描述】描述中的"php新闻程序简单...
【PHP新闻后台系统详解】 PHP新闻后台系统是一个基于PHP编程语言构建的内容管理系统,主要用于网站新闻发布、编辑和管理。对于PHP新手来说,这是一个很好的实践项目,能够帮助他们掌握PHP基础以及数据库管理和前端...
【PHP 新闻发布系统】是一种基于PHP编程语言构建的在线内容管理系统,主要用于分享和发布新闻资讯。这个系统的核心目标是提供一个用户友好的界面,让用户能够方便地创建、编辑、管理和发布新闻文章。在初级阶段,它...
phpweb抓包教程