发表时间:2014-09-05来源:网络
<?php
function csdn(){//$uid采集文章的分类
$url="http://www.csdn.net";
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL,$url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($ch,CURLOPT_ENCODING ,'utf8');
$content = curl_exec($ch);
preg_match_all("/http/://///w*/.csdn/.net//a///d*///d*/.html/",$content,$match);
$weburl=$match[0];
$weburl=array_unique($weburl);
$j=0;
foreach($weburl as $i=>$vo){
curl_setopt ($ch, CURLOPT_URL,$vo);
$content = curl_exec($ch);
preg_match_all("//<h1/>(.*)/<//h1/>|/<div/s*class/=/"blkCont.*([/s/S]*)/<div/s*class/=/"page/".*/>/",$content,$match);
if(!emptyempty ( $match[2][1])){
$list[$j]['content']=$match[2][1];
$list[$j]['title']=$match[1][0];
$j++;
}
}
print_r($list);
}
?>
很容易看出
$list就是收集到的新闻,形式是一个二维数组
如果要把他保存到你的数据库,我就不解释了...
其中注意判断是否与你数据库的文章重复
可以通过md5加密标题然后与你数据库的文章标题md5加密后比对,若真.,则表示你数据库有同样的文章
注意这里希望大家复制不要手工复制,请查看源代码方法复制.....
因为表面的代码跟实际代码貌似有出入
如果你是thinkphp的话..www.zhishiwu.com..那就跟我的一样了...下面贴出更方便的代码直接添加数据库,包括重复数据判断:
<?php
function csdn($uid){//$uid采集文章的分类
$url="http://www.csdn.net";
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL,$url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($ch,CURLOPT_ENCODING ,'utf8');
$content = curl_exec($ch);
preg_match_all("/http/://///w*/.csdn/.net//a///d*///d*/.html/",$content,$match);
$weburl=$match[0];
$weburl=array_unique($weburl);
$j=0;
foreach($weburl as $i=>$vo){
curl_setopt ($ch, CURLOPT_URL,$vo);
$content = curl_exec($ch);
preg_match_all("//<h1/>(.*)/<//h1/>|/<div/s*class/=/"blkCont.*([/s/S]*)/<div/s*class/=/"page/".*/>/",$content,$match);
if(!emptyempty($match[2][1])){
$list[$j]['content']=$match[2][1];
$list[$j]['title']=$match[1][0];
$j++;
}
}
$db=M('news');
$news=$db->where("uid=".$uid)->select();
$flag=true;
foreach($list as $i=>$vo){
foreach($news as $j=>$value){
if(md5($value['title'])==md5($vo['title'])){
$flag=false;
break;
}
}
if($flag){
$vo['uid']=$uid;
$vo['date']=date('Y-j-m H:i:s');
$vo['author']=Session::get("admin");
$vo['iscommand']=1;
$rs=$db->add($vo);
}
$flag=true;
}
}
?>
摘自 zouhao619的专栏
CI框架连接数据库配置操作以及多数据库操作
asp 简单读取数据表并列出来 ASP如何快速从数据库读取大量数据
C语言关键字及其解释介绍 C语言32个关键字详解
C语言中sizeof是什么意思 c语言里sizeof怎样用法详解
PHP中的魔术方法 :__construct, __destruct , __call, __callStatic,__get, __set, __isset, __unset , __sleep,
PHP中的(++i)前缀自增 和 (i++)后缀自增
将视频设置为Android手机开机动画的教程
最简单的asp登陆界面代码 asp登陆界面源代码详细介绍
常用dos命令及语法
PHP中include和require区别之我见
溧阳论坛触屏版手机版下载v5.4.2.18 安卓版
68.37MB |生活服务
保利悠悦荟最新版app2026下载v3.1.6 安卓版
35.73MB |生活服务
i泰达官方版下载v2.0.10 安卓版
66.01MB |生活服务
与糖医护手机版下载v4.2.0 安卓版
46.54MB |生活服务
智慧宫翻译阿拉伯语手机版下载v1.91.0 安卓版
50.68MB |生活服务
专注清单app下载v15.9 安卓版
42.61MB |生活服务
物性表手机版下载v2.3.0 安卓版
71.12MB |商务办公
hooli留学公寓app下载v5.6.1 安卓官方版
28.64MB |生活服务
2014-09-05
2022-03-20
2022-03-21
2022-03-24
2014-09-05
2014-09-05
2015-07-05
2014-09-05
2022-03-21
2014-09-05