zoukankan      html  css  js  c++  java
  • PHP采集程序大全

     

    在论坛好久了没有怎么正式的发表过东西,今天给大家共享一下我的采集代码!

    思路:

      采集程序的思路很简单大体可以分为以下几个步骤:
        1.获取远程文件源代码(file_get_contents或用fopen).
           2.分析代码得到自己想要的内容(这里用正规匹配,一般是得到分页)。
      3.跟根得到的内容进行下载入库等操作。

    在这里第二步有可能要重复的操作好几次,比如说要先分析一下分页地址,在分析一下内页的内容才能取得我们想要的东西。

    代码:

    记的以前发部过部分的代码今天我在这里在简单的发部一下
    复制PHP内容到剪贴板
    PHP代码:
    @$nl=file_get_contents($rs['url']);//抓取远程内容
    preg_match_all("/var url = \"gameswf\/(.*?)\.swf\";/is",$nl,$connect);//进行正规匹配取得自己要的内容
    mysql_query("insert ......插入数据库部分");


    上面的代码就是所有采集要用到的代码了,当然大家也可以用fope来作,我个人喜欢用file_get_contents。

    下面在共享一下我的下载图片flash到本地的办法,太简单了两行代码
    复制PHP内容到剪贴板
    PHP代码:
    if(@copy($url,$newurl)){
    echo 'ok';
    }


    在论坛上以前还发过一个图片下载函数这会也放上来给大家
    复制PHP内容到剪贴板
    PHP代码:
    /*本存图片函数*/
    function getimg($url,$filename){
            /*判断图片的url是否为空,如果为空停止函数*/
            if($url==""){
                    return false;
            }
            /*取得图片的扩展名,存入变量$ext中*/
            $ext=strrchr($url,".");
            /*判断是否是合法的图片文件*/
        if($ext!=".gif" && $ext!=".jpg"){
                    return false;
            }
            /*读取图片*/
            $img=file_get_contents($url);
            /*打开指定的文件*/
            $fp=@fopen($filename.$ext,"a");
            /*写入图片到指点的文件*/
            fwrite($fp,$img);
            /*关闭文件*/
            fclose($fp);
            /*返回图片的新文件名*/
            return $filename.$ext;
    }


    共享一下个人的采集心德:

    1.不采那些作防盗链了的站,其实可以作假来路但是这样的站采集成本太高

    2.采集尽量快的站,最好在本地进行采集

    3.采集时有很多时候可以先把一部分数据存入数据库,等以后进行下一步的处理。

    4.采集的时候一定要作好出错处理,我一般都是如果采集三次没有成功就跳过。以前经常就因为一条内容不能采就卡在那里一直的采。

    5.入库前一定要作好判断,检查内容的合法,过滤不必要的字符串。

  • 相关阅读:
    DM数据库disql的使用 Disql disql 达梦数据库Disql
    移动端禁止蒙层下的页面滚动
    移动端如何自动适配px
    使用Vant做移动端对图片预览ImagePreview和List的理解
    uniapp中使用uView组件库
    h5使用vuephotopreview 做全屏预览
    jsonview的实现
    PC端自适应使用rem 移动端适配升级版
    axios解决跨域问题(vuecli3.0)
    vs code 配置git path
  • 原文地址:https://www.cnblogs.com/tdalcn/p/2279530.html
Copyright © 2011-2022 走看看