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


Posted in PHP onJune 17, 2015

本文实例讲述了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 相关文章推荐
php foreach 使用&amp;(与运算符)引用赋值要注意的问题
Feb 16 PHP
PHP5.3的垃圾回收机制(动态存储分配方案)深入理解
Dec 10 PHP
php获取汉字首字母的函数
Nov 07 PHP
PHP fopen()和 file_get_contents()应用与差异介绍
Mar 19 PHP
访问编码后的中文URL返回404错误的解决方法
Aug 20 PHP
php查找字符串出现次数的方法
Dec 01 PHP
php面向对象中static静态属性和静态方法的调用
Feb 08 PHP
PHP的命令行命令使用指南
Aug 18 PHP
详解PHP安装mysql.so扩展的方法
Dec 31 PHP
一键生成各种尺寸Icon的php脚本(实例)
Feb 08 PHP
laravel如何开启跨域功能示例详解
Aug 31 PHP
PHP多个图片压缩成ZIP的方法
Aug 18 PHP
PHP基于MySQL数据库实现对象持久层的方法
Jun 17 #PHP
php使用curl打开https网站的方法
Jun 17 #PHP
php使用CURL不依赖COOKIEJAR获取COOKIE的方法
Jun 17 #PHP
PHP封装的HttpClient类用法实例
Jun 17 #PHP
PHP处理postfix邮件内容的方法
Jun 16 #PHP
PHP限制HTML内容中图片必须是本站的方法
Jun 16 #PHP
php采集中国代理服务器网的方法
Jun 16 #PHP
You might like
PHP Switch 语句之学习笔记
2013/09/21 PHP
php共享内存段示例分享
2014/01/20 PHP
php mysql实现mysql_select_db选择数据库
2016/12/30 PHP
二级域名转向类
2006/11/09 Javascript
基于jQuery的倒计时实现代码
2012/05/30 Javascript
js实现局部页面打印预览原理及示例代码
2014/07/03 Javascript
JQuery操作元素的css样式
2015/03/09 Javascript
jQuery+css3动画属性制作猎豹浏览器宽屏banner焦点图
2015/03/16 Javascript
JavaScript面向对象编写购物车功能
2016/08/19 Javascript
Bootstrap模态框使用详解
2017/02/15 Javascript
webpack处理 css\less\sass 样式的方法
2017/08/21 Javascript
微信小程序wx.request拦截器使用详解
2019/07/09 Javascript
layer.alert回调函数执行关闭弹窗的实例
2019/09/11 Javascript
如何在vue中使用jointjs过程解析
2020/05/29 Javascript
使用相同的Apache实例来运行Django和Media文件
2015/07/22 Python
Python Nose框架编写测试用例方法
2017/10/26 Python
Python Web程序部署到Ubuntu服务器上的方法
2018/02/22 Python
python matplotlib库绘制条形图练习题
2019/08/10 Python
pytorch 数据处理:定义自己的数据集合实例
2019/12/31 Python
pytorch masked_fill报错的解决
2020/02/18 Python
后端开发使用pycharm的技巧(推荐)
2020/03/27 Python
利用python控制Autocad:pyautocad方式
2020/06/01 Python
使用HTML5里的classList操作CSS类
2016/06/28 HTML / CSS
Willer台湾:日本高速巴士/夜行巴士预约
2017/07/09 全球购物
sleep()方法和wait()方法的区别是什么
2012/11/17 面试题
巧克力蛋糕店创业计划书
2014/01/14 职场文书
中医临床专业自我鉴定范文
2014/01/15 职场文书
优秀共产党员先进事迹材料
2014/05/06 职场文书
学生实习证明模板汇总
2014/09/25 职场文书
创先争优活动个人总结
2015/03/04 职场文书
董事长秘书工作总结
2015/08/14 职场文书
navicat 连接Ubuntu虚拟机的mysql的操作方法
2022/04/02 MySQL
HTML5之高度塌陷问题的解决
2022/06/01 HTML / CSS
2022年显卡天梯图(6月更新)
2022/06/17 数码科技
httpclient调用远程接口的方法
2022/08/14 Java/Android
Python中tqdm的使用和例子
2022/09/23 Python