作者:mobiledu2502881683 | 来源:互联网 | 2013-06-03 09:25
一个单文件的PHP采集,将采集的id数据保存到一个txt文档中,运行php文件即可自动运行采集,主要是理解php的一个采集原理,不适合直接进行网站应用,本程序是一个采集天下mm论坛美女图片的程序,本文件利用的是打开目标网址,采集网址后的ID,然后将其ID保存到txt文档中,在txt文档中形成一组采
一个单文件的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['id']) ? 0 : trim($_GET['id']);
-
$tid = trim($arr[$id]);
-
if(!isset($_SESSION['i']))
-
{
-
-
$url = "http://tianxiamm.com/viewthread.php?tid=".$tid."&extra=page%3D2";
-
if(!$content = file_get_contents($url))
-
{
-
exit("");
-
}
-
preg_match_all("||iUs", $content, $addr);
-
if(emptyempty($addr[1]))
-
{
-
exit("");
-
}
-
$_SESSION['addr'] = $addr[1];
-
$_SESSION['i'] = 0;
-
}
-
for($i = $_SESSION['i']; $i < count($_SESSION['addr']); $i++ )
-
{
-
if(!file_exists($tid))
-
{
-
mkdir($tid, 0777);
-
}
-
if($a = file_get_contents($_SESSION['addr'][$i]))
-
{
-
$fuffix = substr($_SESSION['addr'][$i], strrpos($_SESSION['addr'][$i], '.'), 5);
-
$fileImg = $tid.'/'.($i + 1).$fuffix;
-
file_put_contents($fileImg, $a); //写入文件
-
}
-
$_SESSION['i'] = $i + 1;
-
if(time() - $t > 18)
-
{
-
exit("");
-
}
-
}
-
unset($_SESSION['addr']);
-
unset($_SESSION['i']);
-
exit("");
-
?>
a.txt 为数据文件
d.php 为图片采集程序,直接在浏览器中打开运行即可。