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的中问验证码
Nov 25 PHP
PHP 判断变量类型实现代码
Oct 23 PHP
PHP 字符串加密函数(在指定时间内加密还原字符串,超时无法还原)
Apr 28 PHP
PHP删除数组中空值的方法介绍
Apr 14 PHP
PHP截取指定图片大小的方法
Dec 10 PHP
PHP中addcslashes与stripcslashes函数用法分析
Jan 07 PHP
PHP Cookie学习笔记
Aug 23 PHP
php登录超时检测功能实例详解
Mar 21 PHP
thinkphp5 migrate数据库迁移工具
Feb 20 PHP
PHP的PDO大对象(LOBs)
Jan 27 PHP
如何在centos8自定义目录安装php7.3
Nov 28 PHP
基于PHP实现用户登录注册功能的详细教程
Aug 04 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
投票管理程序
2006/10/09 PHP
第十三节--对象串行化
2006/11/16 PHP
php array_slice函数的使用以及参数详解
2008/08/30 PHP
PHP实现Session入库/存入redis的方法
2017/05/04 PHP
老生常谈PHP面向对象之注册表模式
2017/05/26 PHP
js操作textarea 常用方法总结
2012/12/03 Javascript
JqueryMobile动态生成listView并实现刷新的两种方法
2014/03/05 Javascript
一个JavaScript递归实现反转数组字符串的实例
2014/10/14 Javascript
javascript实现简单的html5视频播放器
2015/05/06 Javascript
如何利用JS通过身份证号获取当事人的生日、年龄、性别
2016/01/22 Javascript
一句jQuery代码实现返回顶部效果(简单实用)
2016/12/28 Javascript
原生javascript实现读写CSS样式的方法详解
2017/02/20 Javascript
angularJS 发起$http.post和$http.get请求的实现方法
2017/05/18 Javascript
react-native 封装选择弹出框示例(试用ios&amp;android)
2017/07/11 Javascript
shiro授权的实现原理
2017/09/21 Javascript
详解关于表格合并span-method方法的补充(表格数据由后台动态返回)
2019/05/21 Javascript
jquery多级树形下拉菜单的实例代码
2019/07/09 jQuery
原生js实现放大镜组件
2021/01/22 Javascript
[02:37]2018DOTA2亚洲邀请赛赛前采访-EG篇
2018/04/03 DOTA
python实现跨文件全局变量的方法
2014/07/07 Python
简介二分查找算法与相关的Python实现示例
2015/08/26 Python
各种Python库安装包下载地址与安装过程详细介绍(Windows版)
2016/11/02 Python
Python 编码规范(Google Python Style Guide)
2018/05/05 Python
如何通过python画loss曲线的方法
2019/06/26 Python
Django 自定义分页器的实现代码
2019/11/24 Python
Django 博客实现简单的全文搜索的示例代码
2020/02/17 Python
无需压缩软件,用python帮你操作压缩包
2020/08/17 Python
Django执行源生mysql语句实现过程解析
2020/11/12 Python
优秀毕业生自我鉴定
2014/02/11 职场文书
竞选纪律委员演讲稿
2014/09/13 职场文书
体育教师个人总结
2015/02/09 职场文书
资金申请报告范文
2015/05/14 职场文书
教你使用Python pypinyin库实现汉字转拼音
2021/05/27 Python
python3中apply函数和lambda函数的使用详解
2022/02/28 Python
vue实现列表拖拽排序的示例代码
2022/04/08 Vue.js
springboot读取resources下文件的方式详解
2022/06/21 Java/Android