欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-07-08 08:06:21
本文实例讲述了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程序设计有所帮助。