百度网盘:http://pan.baidu.com/s/1pJz7EER

http://blog.jjonline.cn/phptech/175.html(转)

代码:

    <?PHPheader("content-type:text/html;charset=utf-8");/**Base Function***/// exit;/*** get远程文档* @access public* @param string $url 远程url* @return mixed*/function GetUrl($url) {if (function_exists('file_get_contents')){return file_get_contents($url);}$ch = curl_init();curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);curl_setopt($ch, CURLOPT_URL, $url);$result =  curl_exec($ch);curl_close($ch);return $result;}/*** 采集远程文件* @access public* @param string $remote 远程文件名* @param string $local 本地保存文件名* @return mixed*/function curlDownload($remote,$local) {$cp = curl_init($remote);$fp = fopen($local,"w");curl_setopt($cp, CURLOPT_FILE, $fp);curl_setopt($cp, CURLOPT_HEADER, 0);curl_exec($cp);curl_close($cp);fclose($fp);}/**采集代码开始干活的搞起**/$BaseUrl         =     'http://www.a-li.com.cn/';$EmotionUrl     =     $BaseUrl.'download/qq_emotion/index.php?page=';//采集页面的开始与结束$BeginPage     =     1;$EndPage        =    37;//总页面数;阿狸官方站更新后 总页面数可能会变化 在此处配置//$_SESSION['page'] = null;exit;//不注释该项重新初始化//采用session记录采集到哪个页面if(!$_SESSION['page']) {$Page = $BeginPage;$_SESSION['page'] = $Page;}else {$Page = $_SESSION['page'] + 1;$_SESSION['page'] = $Page;}if($Page>$EndPage) {exit('活已干完!');}//开始采集$url = $EmotionUrl.$Page;$string = GetUrl($url);while(!$string) { //while 循环保证采集无误sleep(3);$string = GetUrl($url);}//正则匹配采集到的页面中的阿狸gif图片信息$match  =    array();$string = preg_replace('/<!--.*\s*.*-->/i','',$string);//去除html里的注释段  可以删掉preg_match_all('/<img src="(data\/attachment.*\.gif)"\s+alt="(.*)"\s+.*\s+\/>/i',$string,$match,PREG_SET_ORDER);//采集后的文件存储位置 检测文件夹不存在就创建if(!is_dir('./ali/')) {mkdir('./ali/');}//检测匹配并循环下载采集到的gif图到与该PHP代码文件同级目录下的ali目录中if($match) {foreach($match as $key=>$value) {$imgUrl = $BaseUrl.$value[1];$imgName = './ali/'.preg_replace('/\./','',$value[2]).'.gif';//使用匹配到的img标签中的alt作为本地保存gif图的文件名curlDownload($imgUrl,$imgName);}}else {exit('匹配信息出错');}echo '<p>采集第'.$Page.'页中的阿狸gif图片完成。</p>';echo '<p>1秒后继续自动执行下一个页面</p>';echo '<script>setTimeout(function () {window.location.reload(true);},1000);</script>';?>

几点注意:应当注意2个函数

GetUrl($url)  与  curlDownload($remote,$local)

代码一:

<?php
function curlDownload($remote,$local) {$cp = curl_init($remote);$fp = fopen($local,"w");curl_setopt($cp, CURLOPT_FILE, $fp);curl_setopt($cp, CURLOPT_HEADER, 0);curl_exec($cp);curl_close($cp);fclose($fp);}curlDownload('http://blog.jjonline.cn/Upload/image/201408/20140810151040.gif','aa.gif');?>

代码二:

<?phpfunction GetUrl($url) {if (function_exists('file_get_contents')){return file_get_contents($url);}$ch = curl_init();curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);curl_setopt($ch, CURLOPT_URL, $url);$result =  curl_exec($ch);curl_close($ch);return $result;}echo GetUrl("http://blog.jjonline.cn/phptech/175.html");
?>

转载于:https://www.cnblogs.com/wuheng1991/p/5235749.html

阿狸表情图采集代码示例相关推荐

  1. python导入txt文件并绘图-Python实现读取txt文件并画三维图简单代码示例

    记忆力差的孩子得勤做笔记! 刚接触python,最近又需要画一个三维图,然后就找了一大堆资料,看的人头昏脑胀的,今天终于解决了!好了,废话不多说,直接上代码! #由三个一维坐标画三维散点 #codin ...

  2. python读取txt文件代码-Python实现读取txt文件并画三维图简单代码示例

    记忆力差的孩子得勤做笔记! 刚接触python,最近又需要画一个三维图,然后就找了一大堆资料,看的人头昏脑胀的,今天终于解决了!好了,废话不多说,直接上代码! #由三个一维坐标画三维散点 #codin ...

  3. leaflet 实现鹰眼图 (代码示例043)

    第043个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+leaflet中实现鹰眼图效果,这里要引用Leaflet-MiniMap插件.需要说明的是:不要将小地图组件添加到主地图的图层上,需要 ...

  4. java类图与代码实例

    在 Java编程中,类图是一个非常重要的概念.类图的作用是用来展示类的结构以及类之间的关系.通过类图,可以很方便地展示出对象之间的关系.下面我将使用实例来演示一下我在学习 Java时的类图. 首先我们 ...

  5. 设计模式——代理模式(附代码示例)

    一. 代理模式 1. 概念 代理模式为一个对象提供一个替身,以控制对这个对象的访问.即通过代理对象访问目标对象.这样做的好处是可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能.被代 ...

  6. 设计模式——适配器模式(附代码示例)

    一. 适配器模式 1. 概念         适配器模式(Adapter Rattern)将某个类的接口转换成客户端期望的另一个接口表示,主的目的是兼容性,让原本因接口不匹配不能一起工作的两个类可以协 ...

  7. php自动轮播图代码,JavaScript如何实现动态轮播图效果?(代码示例)

    本篇文章给大家带来的内容是JavaScript如何实现动态轮播图效果?(代码示例).有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助. 功能描述: 1.鼠标经过 左右侧箭头显示,鼠标离开 ...

  8. python简单代码画曲线图教程-Python绘制折线图和散点图的详细方法介绍(代码示例)...

    本篇文章给大家带来的内容是关于Python绘制折线图和散点图的详细方法介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 1.绘制折线图和散点图要用到matplotlib ...

  9. python画折线图代码-Python绘制折线图和散点图的详细方法介绍(代码示例)

    本篇文章给大家带来的内容是关于Python绘制折线图和散点图的详细方法介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 1.绘制折线图和散点图要用到matplotlib ...

最新文章

  1. HDU4857拓扑排序模版题
  2. 命名时取代基优先顺序_【选修五】高中化学重难点知识:有机物的命名方法
  3. 程序员的情人节礼物:当天微软开始Build 2017登记
  4. Win7系统不能录音怎么办
  5. php制作后台驻留执行 ,同时提前返回逻辑信息进行判断的实例
  6. 架构师的英文缩写_架构师必备的20个英文缩写!看你知道几个?
  7. android融云监听消息,关于android:融云-IMkit-拦截或监听所有发送消息
  8. 47. Python socket编程 2
  9. connect by
  10. 软工课后作业01 15100152
  11. 1950 - Computing Machinery and Intelligence(计算机器与智能,又译作:机器能思考么?)
  12. 四层和八层电梯控制系统Proteus仿真设计,51单片机,附仿真和Keil C代码
  13. 对 粒子滤波算法原理 的介绍,通俗易懂
  14. idea安装教程(傻瓜式操作、永久使用)
  15. Android OpenGL ES(七)----理解纹理与纹理过滤
  16. 如何读懂和利用你的微生物多样性测序结果?
  17. USYD悉尼大学DATA 2002 【R语言学习1】【介绍R】Introduction to R「虽迟但到」
  18. Jmeter 测试12306 获取火车票订单接口
  19. PMP49个过程组知识领域ITTO汇总 -- 项目范围管理
  20. 如何重置计算机服务到默认状态,电脑慢到让人抓狂?教你如何将Windows10还原到出厂设置...

热门文章

  1. Oracle RMAN 的 show,list,crosscheck,delete命令整理
  2. Linux配置自动获取ip方式和静态ip方
  3. 1、学习笔记-谁说rookie不会数分(入门篇)
  4. 单片机:AT89s52 定时器 time0
  5. 大数据分析步骤及分析方法详解
  6. Mac使用技巧:轻松自定义设置系统键盘
  7. 基于jsp+java+ssm妇女联合会管理系统
  8. 什么是描述性统计分析( descriptive statistics)?主要包含哪些内容?
  9. PHP监控网站运行状态
  10. 特征工程之数据预处理与可视化