当前位置: 首页 > 图文教程 > 网络编程 > PHP > 新浪新闻小偷

PHP
php中目录,文件操作详谈
理解PHP5中static和const关键字的区别
php中支持多种编码的中文字符串截取函数!
关于BIG5-HKSCS的解决方法
自动生成文章摘要的代码[PHP 版本]
完美解决dedecms中的[html][/html]和[code][/code]问题
不错的dedecms修改实用集锦
PHP的分页功能
dedecms中显示数字验证码的修改方法
dedecms中常见问题修改方法总结
用PHP写的MySQL数据库用户认证系统代码
收集的PHP中与数组相关的函数
PHP中动态显示签名和ip原理
实现dedecms全站URL静态化改造的代码
解决dede生成静态页和动态页转换的一些问题,及火车采集入库生成动态的办法
在任意字符集下正常显示网页的方法一
在任意字符集下正常显示网页的方法二(续)
经典的PHPer为什么被认为是草根?
dedecms系统常用术语汇总
一篇入门的php Class 文章

PHP 中的 新浪新闻小偷


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-12   浏览: 138 ::
收藏到网摘: n/a


新浪新闻小偷 1.
<html>
<head>
<meta http-equiv="Refresh" content="60">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<meta http-equiv="Content-Type" content="text/html"; charset="??????">
<title>新浪_新闻抓取程序</title>
</head>
<body>
<center><img src="/upload/tech/20091012/20091012013123_aab3238922bcc25a6f606eb525ffdc56.gif"></center>
<?
$host="127.0.0.1"; // MYSQL 主机名
$namesql="????"; // MYSQL 用户名
$passsql="????"; // MYSQL 密码
$lib="news"; // 数据库名
$table="news"; // 数据库表名
$filename="http://news.sina.com.cn/news1000/index.shtml"; // 抓取的新闻页
$keytop="新闻开始"; // 新闻开始关键词
$keybottom="新闻结束"; // 新闻结束关键词
$conn=mysql_connect($host,$namesql,$passsql);
mysql_select_db($lib,$conn);
$fp=fopen($filename,"r",1);
$flag=0; $add=""; $found=0; $end=0; $i=0; $temp[4]="";
while(!$end==1){
while(!$flag==1){
$word=fgetc($fp);
$add=$add.$word;
if($word=='<' and strlen($add)==1){ $flag=0; }
if($word=='<' and strlen($add)!=1){ $flag=1; $add=substr($add,0,strlen($add)-1); }
if($word=='>'){ $flag=1; } }
if(strchr($add,$keytop)){ $found=1; }
if(strchr($add,$keybottom)){ $found=0; $end=1; }
if(((strchr($add,'<')==True and strchr($add,'href')==True) or strchr($add,'<')==False) and $found==1){ $text[$i]=$add; $i++; }
if($word=='<' and $flag==1){ $add=$word; $flag=0; } else { $add=""; $flag=0; } }
fclose($fp);
for($i=1;$i<sizeof($text)-1;$i+=5){
$temp[1]=$text[$i+1]; $temp[2]=$text[$i+2]; $temp[3]=$text[$i+3]; $temp[4]=$text[$i+4];
$ins="select * from $table where TITLE='$temp[3]'";
$list=mysql_query($ins,$conn);
@$count=mysql_num_rows($list);
if($count==0){
$ins="insert into $table(TYPE,URL,TITLE,DATE) values ('$temp[1]','$temp[2]','$temp[3]','$temp[4]')";
$list=mysql_query($ins,$conn); } }
mysql_close($conn);
?>
</body>
</html>

2.<?
$handle = fopen("http://news.sina.com.cn/news1000/","r");
$sign = 0;
while(!feof($handle))
{
$message = fgets($handle,512);
if($sign == 1)
{
print("$message");
}
if(ereg("新闻开始",$message,$result))
{
$sign = 1;
}
else if(ereg("新闻结束",$message,$result))
{
$sign = 0;
}
}
fclose($handle);
?>