
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程序设计有所帮助。
相关推荐
-
Codeigniter上传图片出现“You did not select a file to upload”错误解决办法
Codeigniter自带的文件上传类非常好用,您可以设置指定上传某类型的文件及指定大小的文件.不过在使用的过程中需要注意一些小问题,否则会让你感到措手不及. 很多开发人员在使用Codeigniter的upload上传类时候,总是出现"You did not select a file to upload"错误,从代码里面看并没有什么错误,这是怎么回事呢? 1.文件域的名字被修改 方法一: 例如将Views文件的文件域的名字修改成了fileimg,而CI默认的文件域的名字是userfi
-
CodeIgniter图像处理类的深入解析
image.php 复制代码 代码如下: <?phpclass Image extends Controller { function Image() { parent::Controller(); $this->load->library('image_lib'); } //缩略图 function index(){ echo '* 调整图像大小 <br> * 创建缩略图 <br>
-
Codeigniter实现多文件上传并创建多个缩略图
该程序可以实现:1.同时上传5张图片2.同时生成两种尺寸的缩略图3.保存到mysql controllers:upload.php文件: 复制代码 代码如下: <?phpclass Upload extends Controller { function go() { if(isset($_POST['go'])) { //初始化 $config['upload_path'] = 'album/source'; $config['allowed_types
-
CI框架封装的常用图像处理方法(缩略图,水印,旋转,上传等)
本文实例讲述了CI框架封装的常用图像处理方法.分享给大家供大家参考,具体如下: 其实微信手机端上图时,列表图最好是缩略图,节省流量,这不,又被移动坑了一把,话费签一分就停机,流量欠到90块才停机,我也是醉了... 不说废话了,下面是用CI 的内置处理图像的库写的,小弟不才,遗漏之处敬请指出,谢谢. /** * 生成缩略图 * @param $path 原图的本地路径 * @return null 创建一个 原图_thumb.扩展名 的文件 * */ public function dealthu
-
使用CodeIgniter的类库做图片上传
CodeIgniter的文件上传类允许文件被上传.您可以设置指定上传某类型的文件及指定大小的文件. 上传文件普遍的过程: 一个上传文件用的表单,允许用户选择一个文件并上传它.当这个表单被提交,该文件被上传到指定的目录.同时,该文件将被验证是否符合您设定的要求.一旦文件上传成功,还要返回一个上传成功的确认窗口. 下面是表单: 复制代码 代码如下: <form method="post" action="<?=base_url()?>admin/img_uplo
-
CI框架文件上传类及图像处理类用法分析
本文实例讲述了CI框架文件上传类及图像处理类用法.分享给大家供大家参考,具体如下: //列表页banner图片 public function edit_list_page_banner($category_id=""){ $category_id= empty($category_id)?$_POST["category_id"]:$category_id; //上传图片 if(isset($_POST["key"]) && $
-
CodeIgniter上传图片成功的全部过程分享
最近几天正在做一个小型CMS,用到图片上传了,想利于CodeIgniter的上传类去实现,但测试中有好多问题,我把经过和要注意的地方分享一下! 复制代码 代码如下: <?php echo form_open_multipart('picture/upload');?><?php echo form_upload('userfile');?> /*注意,这里是userfile,$this->upload->do_upload(),这里do_upload默认上传文件的表单名
-
php基于CodeIgniter实现图片上传、剪切功能
本文实例为大家分享了codeigniter 图片上传.剪切,控制器类,供大家参考,具体内容如下 <?php defined('BASEPATH') OR exit('No direct script access allowed'); class Index extends MY_Controller { function __construct(){ parent::__construct(); $this->load->helper(array('form', 'url')); }
-
codeigniter上传图片不能正确识别图片类型问题解决方法
在用 codeigniter 的上传类上传图片的时候,明明是 jpg 格式图片,但是 ci 始终识别成 application/octet-stream 类型,从而导致上传失败,搜集了下资料,解决方法如下: 在 php.ini 中开启 fileinfo 扩展来获取正确的类型: 复制代码 代码如下: //windows extension = php_fileinfo.dll //linux extension = fileinfo.so 注:关于fileinfo PHP官方推荐mime_cont
-
Codeigniter实现智能裁剪图片的方法
一副1024*768大小的图片,裁剪到240*240大小,裁剪后不失真,尽可能保留图片主题含义. 我使用到的方法: 1. 先将图片等比例缩略到可以裁剪的大小: 如果是宽幅图片,则按高度等比例缩放到高度 = 240px,窄幅图片(高度大于宽度)则按宽度等比例缩放: 2. 按长宽格式居中裁剪: 保留缩略后的图片中间部分: 复制代码 代码如下: $this->load->library('image_lib'); list($width, $height) = geti
随机推荐
- jquery网页元素拖拽插件效果及实现
- React Native模块之Permissions权限申请的实例相机
- Angularjs中使用Filters详解
- java 字符串匹配函数
- PHP连接SQLServer2005方法及代码
- IOS中Weex 加载 .xcassets 中的图片资源的实例详解
- Asp.net SignalR快速入门
- IScroll那些事_当内容不足时下拉刷新的解决方法
- Android 手机卫士实现平移动画示例
- 怎么在下面的HTML里调用数组cs[]的值
- python调用java的Webservice示例
- VBScript根据盘符找设备名的代码
- java操作mongodb基础(查询 排序 输出list)
- jquery cookie的用法总结
- jQuery中数据缓存$.data的用法及源码完全解析
- 浅析Node.js中使用依赖注入的相关问题及解决方法
- C#中GraphicsPath的Warp方法用法实例
- python网络编程学习笔记(六):Web客户端访问
- 以太网络建立多个VLAN典型案例
- Vue+SpringBoot开发V部落博客管理平台
其他
- mybatis plus 表字段类型
- template中页面缩放
- assetspublicpath和publicpath区别
- 引用队列和finalize队列
- element-ui select默认选中
- pycharm pycuda 安装失败 windows
- 整数划分问题程序运行会出现的问题
- springmvc中控制器调用但是报404
- keras构建gru网络
- python Qt 窗口一闪而过
- 百度翻译Python爬虫999错误
- pytest的csv数据驱动
- $emit触发第一次$on监听不到
- python iqiyi 弹幕 发送时间
- mysql删除数据后释放表空间
- 小程序 如何保证wx.login走完之后再继续
- vuejs倒计时跳转页面
- springboot cos 写数据到文件
- python一个图中画多条线
- tp5 数组查询 原生sql