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('.ptttda');//从首页抓页面导航 //从页面导航开始获取页面内容 foreach($psas$p) { echo'第'.$pn++.'页:<ahref="'.pq($p)->attr("href").'"/></br>'; $imagesnow=phpQuery::newDocumentFile(pq($p)->attr("href")); //单页内容 $images=$imagesnow->find('#gdta');//抓取图片页列表 foreach($imagesas$image) { echo'<ahref="'.pq($image,$imagesnow)->attr("href").'"/></br>'; $imagebigs=phpQuery::newDocumentFile(pq($image,$imagesnow)->attr("href")); //获取单图片页地址 echo'<imgsrc="'.$imagebigs->find('#i3img')->attr('src').'"></br>';//输出图片 ob_start(); readfile($imagebigs->find('#i3img')->attr('src')); $img=ob_get_contents(); ob_end_clean(); $filename='img/'.now().'.jpg'; $f=fopen($filename,'a'); fwrite($f,$img); fclose($f); } } ?>
希望本文所述对大家基于CodeIgniter的php程序设计有所帮助。