文档章节

php 抓取图片

一切_放空
 一切_放空
发布于 2015/02/09 17:18
字数 181
阅读 199
收藏 9
点赞 0
评论 0
<?php
/**
 * Created by PhpStorm.
 * Date: 15-2-9
 * Time: 下午3:10
 */

for($i=0;$i<1000;$i++){
    $getData['page'] =  $i+1;
    getImg($getData);
}


function getImg($getData)
{
    $path = "D:/NFS/img/";
    $opts = array(
        'http'=>array(
            'method'=>"GET",
            'timeout'=>3,//设置3秒等待
        ),
    );
    if(is_array($getData) && !empty($getData))
    {
        $ser = http_build_query($getData, '', '&');
    }
    $cnt=0;
   //如果请求失败 继续请求3次
    while($cnt<3 && ($file=file_get_contents("http://sexy.faceks.com/?{$ser}", false, stream_context_create($opts)))===FALSE) $cnt++;
    preg_match_all("/\<img.*?src\=\"(.*?)\"[^>]*>/i", $file, $matches);
    if(empty($matches[0]) || empty($matches[1]))
    {
        echo "not img...";die;
    }

    $imgs=array_unique($matches[1]);
    foreach($imgs as $k=>$img)
    {

        $filename = $path.time().$k.".jpg";
        getImage($img,$filename);
    }

}

/**
 * @param string $url
 * @param string $fileName
 * 保存图片
 */
function getImage($url = '', $fileName = '')
{
    var_dump($fileName);
    $ch = curl_init();
    $fp = fopen($fileName, 'wb');

    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_FILE, $fp);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch, CURLOPT_TIMEOUT, 60);

    curl_exec($ch);
    curl_close($ch);
    fclose($fp);
}


© 著作权归作者所有

共有 人打赏支持
一切_放空
粉丝 1
博文 16
码字总数 6368
作品 0
杨浦
程序员
PHP模拟登录并获取数据

cURL 是一个功能强大的PHP库,使用PHP的cURL库可以简单和有效地抓取网页并采集内容,设置cookie完成模拟登录网页,curl提供了丰富的函数, 开发者可以从PHP手册中获取更多关于cURL信息。本文...

Louis_88
2015/09/19
99
0
PHP爬虫:百万级别知乎用户数据爬取与分析

这次抓取了110万的用户数据,数据分析结果如下: 开发前的准备 安装Linux系统(Ubuntu14.04),在VMWare虚拟机下安装一个Ubuntu; 安装PHP5.6或以上版本; 安装MySQL5.5或以上版本; 安装cur...

snowing1990
2016/04/06
92
0
抓取xml显示时出现ERR_INCOMPLETE_CHUNKED_ENCODING错误

将wordpress生成的xml文件存在SAE的storage中,然后用curl抓取时,在浏览器中会经常显示错误或不全,多刷新几次的话,偶尔情况下又是正常显示的。 看chrome下的网络显示,下载的文件的大小不...

xhhjin
2014/11/30
2.2K
0
又一编辑神器-百度编辑器-Ueditor

又一编辑神器-百度编辑器-Ueditor (Liondenhsdlionden@gmail.com 转载说明)     前段时间发表过一篇关于“KindEditor在JSP中使用”的博文。这几天在沈阳东软进行JavaWeb方面的实习工作...

KavenSu
2014/06/26
0
0
《CURL技术知识教程》系列技术教程整理

《CURL技术知识教程》系列技术教程整理 有时间会不断更新,大家有什么好的推荐的可以在下面回复,我会酌情收录 1PHP采集相关教程之一 CURL函数库 2php中通过curl模拟登陆discuz论坛的实现代码...

开元中国2015
2015/05/07
470
0
curl抓取图片的保存问题

http://jxgl.hdu.edu.cn/readimagexs.aspx?xh=10109270&lb=xsdzzcxx 这个地址的图片,IE可正常显示,其余浏览器不行,我想用PHP curl抓取保存,求方法。...

Near_Je
2015/10/20
1K
3
织梦CMS如何启用手机版二级域名

提到织梦CMS,站长朋友们一定不会陌生,作为一款简单、实用的PHP开源网站管理系统,曾经深得广大网站爱好者的喜爱,目前还有不少知名的网站采用织梦CMS。 随着移动互联网的兴起,越来越多的网...

english0523
03/16
0
0
Exact Audio Copy 1.0 beta 5 发布,音轨软件

Exact Audio Copy 1.0 beta 5 发布,此版本可通过插件访问专业的 GD3 数据库,可以像跟踪题目和封面图片那样提供 CD 元数据。 详细信息请查看发行页面。 下载地址如下: http://www.exactau...

oschina
2015/04/07
1K
1
百度编辑器-Ueditor

 前段时间发表过一篇关于“KindEditor在JSP中使用”的博文。这几天在沈阳东软进行JavaWeb方面的实习工作,在一个CMS系统的后台和博客板块中又要用到文本编辑器,突然发现了这个——百度编辑...

zyt_1978
2016/05/28
226
1
从别人网站抓取一张图片保存本地和数据库 【求思路】

右上角有今天是周几的显示 右下角只有一个 上一幅图的触发图标 1: 今日图片 右上角给出当天是星期几 2:图中间是无压缩的原图 3:鼠标移动图上,触发title文字说明 4:右下角 上一张图AJAX传...

本周网
2014/09/15
441
5

没有更多内容

加载失败,请刷新页面

加载更多

下一页

about git flow

  昨天元芳做了git分支管理规范的分享,为了拓展大家关于git分支的认知,这里我特意再分享这两个关于git flow的链接,大家可以看一下。 Git 工作流程 Git分支管理策略   git flow本质上是...

qwfys
今天
1
0
Linux系统日志文件

/var/log/messages linux系统总日志 /etc/logrotate.conf 日志切割配置文件 参考https://my.oschina.net/u/2000675/blog/908189 dmesg命令 dmesg’命令显示linux内核的环形缓冲区信息,我们可...

chencheng-linux
今天
1
0
MacOS下给树莓派安装Raspbian系统

下载镜像 前往 树莓派官网 下载镜像。 点击 最新版Raspbian 下载最新版镜像。 下载后请,通过 访达 双击解压,或通过 unzip 命令解压。 检查下载的文件 ls -lh -rw-r--r-- 1 dingdayu s...

dingdayu
今天
0
0
spring boot使用通用mapper(tk.mapper) ,id自增和回显等问题

最近项目使用到tk.mapper设置id自增,数据库是mysql。在使用通用mapper主键生成过程中有一些问题,在总结一下。 1、UUID生成方式-字符串主键 在主键上增加注解 @Id @GeneratedValue...

北岩
今天
2
0
告警系统邮件引擎、运行告警系统

告警系统邮件引擎 cd mail vim mail.py #!/usr/bin/env python#-*- coding: UTF-8 -*-import os,sysreload(sys)sys.setdefaultencoding('utf8')import getoptimport smtplibfr......

Zhouliang6
今天
0
0
Java工具类—随机数

Java中常用的生成随机数有Math.random()方法及java.util.Random类.但他们生成的随机数都是伪随机的. Math.radom()方法 在jdk1.8的Math类中可以看到,Math.random()方法实际上就是调用Random类...

PrivateO2
今天
1
0
关于java内存模型、并发编程的好文

Java并发编程:volatile关键字解析    volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在...

DannyCoder
昨天
0
0
dubbo @Reference retries 重试次数 一个坑

在代码一中设置 成retries=0,也就是调用超时不用重试,结果DEBUG的时候总是重试,不是0吗,0就不用重试啊。为什么还是调用了多次呢? 结果在网上看到 这篇文章才明白 https://www.cnblogs....

奋斗的小牛
昨天
2
0
数据结构与算法3

要抓紧喽~~~~~~~放羊的孩纸回来喽 LowArray类和LowArrayApp类 程序将一个普通的Java数组封装在LowArray类中。类中的数组隐藏了起来,它是私有的,所以只有类自己的方法才能访问他。 LowArray...

沉迷于编程的小菜菜
昨天
0
0
spring boot应用测试框架介绍

一、spring boot应用测试存在的问题 官方提供的测试框架spring-boot-test-starter,虽然提供了很多功能(junit、spring test、assertj、hamcrest、mockito、jsonassert、jsonpath),但是在数...

yangjianzhou
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部