网络编程 
首页 > 网络编程 > 浏览文章

PHP 采集心得技巧

(编辑:jimmy 日期: 2024/11/19 浏览:3 次 )
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代码:
复制代码 代码如下:
if(@copy($url,$newurl)){
echo 'ok';
}

  在论坛上以前还发过一个图片下载函数这会也放上来给大家
  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.入库前一定要作好判断,检查内容的合法,过滤不必要的字符串。
上一篇:抓取YAHOO股票报价的类
下一篇:DISCUZ 论坛管理员密码忘记的解决方法
一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?