本文实例讲述了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程序设计有所帮助。