php 自动采集数据并入库,基于PHP的简单采集数据入库程序实例详解

前几天有一朋友要我帮做一个采集新闻信息的程序,抽了点时间写了个PHP版本的,随笔记录下。

说到采集,无非就是远程获取信息->提取所需内容->分类存储->读取->展示

也算是简单"小偷程序"的加强版吧

下面是对应核心代码(别拿去做坏事哦^_^)

所要采集的内容是某游戏网站上的公告,如下图:

php 自动采集数据并入库,基于PHP的简单采集数据入库程序实例详解_第1张图片

可先利用file_get_contents和简单正则获取基本页面信息

php 自动采集数据并入库,基于PHP的简单采集数据入库程序实例详解_第2张图片

整理下基本信息,采集入库:

include_once("conn.php");

if($_GET['id']<=8&&$_GET['id']){

$id=$_GET['id'];

$conn=file_get_contents("http://www.93moli.com/news_list_4_$id.html");//获取页面内容

$pattern="/

/iUs";//正则

preg_match_all($pattern, $conn, $arr);//匹配内容到arr数组

//print_r($arr);die;

foreach ($arr[1] as $key => $value) {//二维数组[2]对应id和[1]刚好一样,利用起key

$url="http://www.93moli.com/".$arr[2][$key];

$sql="insert into list(title,url) value ('$value', '$url')";

mysql_query($sql);

//echo ""."
";

}

$id++;

echo "正在采集URL数据列表$id...请稍后...";

echo "";

}else{

echo "采集数据结束。";

}

?>

conn.php是数据库连接文件

list.php是本页面

由于要采集的数据是分页显示的,且页面地址是规律递增,所以我用了js跳转代码,利用id传值控制采集的页数,也避免了for循环数目过大。

php 自动采集数据并入库,基于PHP的简单采集数据入库程序实例详解_第3张图片

php 自动采集数据并入库,基于PHP的简单采集数据入库程序实例详解_第4张图片

轻轻松松数据入库,下篇文章写关于具体url采集信息的过程。

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

你可能感兴趣的:(php,自动采集数据并入库)