CodeIgniter实现从网站抓取图片并自动下载到文件夹里的方法

5年以前  |  阅读数:491 次  |  编程语言:PHP 

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

 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
贪吃蛇
文件下载
双位运算符
发送邮件
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
提取后缀名
年的日历图
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例