CodeIgniter实现从网站抓取图片并自动下载到文件夹里的方法 |
|
本文实例讲述了CodeIgniter实现从网站抓取图片并自动下载到文件夹里的方法 。分享给大家供大家参考 。具体如下: 因为某网站看图比较坑爹,要一页一页的翻页 。 。 。 。所以 。 。 。 。就写了这么个东西 (我是产品不是程序员)运行速度简直无法忍受,而且经常会有错误发生,所以希望大家帮忙改进(PHP) 。 当然也欢迎看到PYTHON,GOLANG的版本''^_^ 1. controllers: $this->load->helper(date); $this->load->helper(phpQuery); //我是把phpQuery单文件放到helper里了 2. view: 这里只是为了快速出产品,所以直接在VIEW里写的代码,请无视变量名 。 。 。
<?php
$imageslist = phpQuery::newDocumentFile(http://g.e-hentai.org/g/xxxxx/xxxxxxx/);
//首页
$pn = 1;//页数
$ps = $imageslist->find(.ptt td a);//从首页抓页面导航
//从页面导航开始获取页面内容
foreach($ps as $p)
{
echo 第.$pn++.页:<a href=".pq($p)->attr("href")."/></br>;
$imagesnow = phpQuery::newDocumentFile(pq($p)->attr("href"));
//单页内容
$images = $imagesnow->find(#gdt a);//抓取图片页列表
foreach($images as $image)
{
echo <a href=".pq($image,$imagesnow)->attr("href")."/></br>;
$imagebigs = phpQuery::newDocumentFile(pq($image,$imagesnow)->attr("href"));
//获取单图片页地址
echo <img src=".$imagebigs->find(#i3 img)->attr(src)."></br>;//输出图片
ob_start();
readfile($imagebigs->find(#i3 img)->attr(src));
$img = ob_get_contents();
ob_end_clean();
$filename=img/.now()..jpg;
$f=fopen($filename,a);
fwrite($f,$img);
fclose($f);
}
}
?>
希望本文所述对大家基于CodeIgniter的php程序设计有所帮助 。 |