基于PHP的简单采集数据入库程序

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

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

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

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

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

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

if($_GET['id']<=8&&$_GET['id']){
$id=$_GET['id'];
$conn=file_get_contents("http://www.93moli.com/news_list_4_$id.html");//获取页面内容

$pattern="/

  • <a title=\"(.)\" target=\"_blank\" href=\"(.)\">/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 "<a href='content.php?url=http://www.93moli.com/$url'>$value</a>"."<br/>";  

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

    }else{
    echo "采集数据结束。";
    }

    ?>

  • conn.php是数据库连接文件

    list.php是本页面

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

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

    相关文章

    统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
    统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
    前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
    FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
    之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
    统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...