A-A+

一个简单的php图片采集程序

2012年07月03日 PHP技术文章 暂无评论 阅读 148 views 次

一个单文件的PHP采集,将采集的id数据保存到一个 txt 文档中,运行 php 文件即可自动运行采集,主要是理解 php 的一个采集原理,不适合直接进行网站应用,本程序是一个采集天下mm论坛美女图片的程序,本文件利用的是打开目标网址,采集网址后的ID,然后将其ID保存到 txt 文档中,在 txt 文档中形成一组采集过来的 id 号,我们可以利用这个程序去采集其它网站的一个ID,然后利用单文件采集的原理进行入库,不过这个文件需要适当的进行修改一下。

下面是源文件:

<?php   
 session_start();   
 $t = time();   
 $arr = explode("\n", file_get_contents("a.txt"));   
 $id = !isset($_GET&#91;'id'&#93;) ? 0 : trim($_GET&#91;'id'&#93;);   
 $tid = trim($arr&#91;$id&#93;);   
 if(!isset($_SESSION&#91;'i'&#93;))   
 {   
     
  $url = "http://tianxiamm.com/viewthread.php?tid=".$ti
d."&extra=page%3D2";   
  if(!$content = file_get_contents($url))   
  {   
   exit("<script>location.href='d.php?id=".($id + 1)."';</script>");
  }   
  preg_match_all("|<img src=\"(.{0,150})\" onload=\"thumb
Img\(this\)\" alt=\"\" />|iUs", $content, $addr);   
  if(emptyempty($addr[1]))   
  {   
   exit("<script>location.href='d.php?id=".($id + 1)."';</script>");
  }   
  $_SESSION['addr'] = $addr[1];   
  $_SESSION['i'] = 0;   
 }   
  for($i = $_SESSION['i']; $i < count($_SESSION&#91;'addr'&#93;); $i++ )   
  {   
   if(!file_exists($tid))   
   {   
    mkdir($tid, 0777);   
   }   
   if($a = file_get_contents($_SESSION&#91;'addr'&#93;&#91;$i&#93;))   
   {   
    $fuffix = substr($_SESSION&#91;'addr'&#93;&#91;$i&#93;, strrpos($_SESSION&#91;'a
ddr'&#93;&#91;$i&#93;, '.'), 5);   
    $fileImg = $tid.'/'.($i + 1).$fuffix;   
    file_put_contents($fileImg, $a); //写入文件   
   }   
   $_SESSION&#91;'i'&#93; = $i + 1;   
   if(time() - $t > 18)   
   {   
    exit("<script>location.href='d.php?id=".$id."';</script>");   
   }   
  }   
  unset($_SESSION['addr']);   
  unset($_SESSION['i']);   
 exit("<script>location.href='d.php?id=".($id + 1)."';</script>");
?>

a.txt 为数据文件
d.php 为图片采集程序,直接在浏览器中打开运行即可。

标签:

给我留言