搜索
首页后端开发php教程花5分钟用php做个图片采集器

博主热衷各种互联网技术,常啰嗦,时常伴有强迫症,常更新,觉得文章对你有帮助的可以关注我。 转载请注明"深蓝的镰刀"


采集的核心还是正则匹配,正则我不是特别熟练,网上很多抓img标签的方法,但是我的目的是抓到img中的src属性的值,而且必须满足贪心匹配,否则正则匹配会尽可能匹配长的字串。总之,我花了不止5分钟。。。不过相信正则熟练的同学真的只用5分钟就能搞定这个采集了。

<?php class Crawler{
    static private $output = array();

    static private $web_content = &#39;&#39;;

    public function __construct($url){
       if( false === self::$web_content = file_get_contents($url)){
            self::$web_content = &#39;&#39;;
        }
    }
    static public function getImage(){
       if( &#39;&#39; != self::$web_content ){
            preg_match_all(&#39;/<img(.*?)src=\"([^\"]*)\"/i&#39;,self::$web_content,self::$output);
        }
    }

    static public function output(){
        var_dump(self::$output);
    }

    static public function render(){
        foreach(self::$output[2] as $o){
            echo "<img  src=\"$o\" alt="花5分钟用php做个图片采集器" >";
        }
    }

}

$crawler = new Crawler('http://blog.csdn.net/hornedreaper1988');
$crawler::getImage();
//$crawler::output();
$crawler::render();

以上就介绍了花5分钟用php做个图片采集器,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
为什么NameResolutionError(self.host, self, e) from e,怎么解决为什么NameResolutionError(self.host, self, e) from e,怎么解决Mar 01, 2024 pm 01:20 PM

报错的原因NameResolutionError(self.host,self,e)frome是由urllib3库中的异常类型,这个错误的原因是DNS解析失败,也就是说,试图解析的主机名或IP地址无法找到。这可能是由于输入的URL地址不正确,或者DNS服务器暂时不可用导致的。如何解决解决此错误的方法可能有以下几种:检查输入的URL地址是否正确,确保它是可访问的确保DNS服务器可用,您可以尝试在命令行中使用"ping"命令来测试DNS服务器是否可用尝试使用IP地址而不是主机名来访问网站如果是在代理

Python中的self怎么使用Python中的self怎么使用May 17, 2023 pm 10:40 PM

在介绍Python的self用法之前,先来介绍下Python中的类和实例我们知道,面向对象最重要的概念就是类(class)和实例(instance),类是抽象的模板,比如学生这个抽象的事物,可以用一个Student类来表示。而实例是根据类创建出来的一个个具体的“对象”,每一个对象都从类中继承有相同的方法,但各自的数据可能不同。1、以Student类为例,在Python中,定义类如下:classStudent(object):pass(Object)表示该类从哪个类继承下来的,Object类是所有

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决Jun 13, 2016 am 10:23 AM

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code<form name="myform"

前端输出设置前端输出设置Feb 19, 2024 am 09:30 AM

前端output配置,需要具体代码示例前端开发中,output配置是一项非常重要的配置。它用于定义项目打包后生成的文件路径、文件名以及相关的资源路径等。本文将介绍前端output配置的作用、常用配置选项,并给出具体的代码示例。output配置的作用:output配置项用于指定项目打包后生成的文件路径和文件名。它决定了项目的最终输出结果。在webpack等打包

webpack核心概念之输出(Output)webpack核心概念之输出(Output)Aug 09, 2022 pm 06:32 PM

将所有的资源(assets)归拢在一起后,还需要告诉 webpack 在哪里打包应用程序。webpack 的 output 属性描述了如何处理归拢在一起的代码(bundled code)。下面本篇文章就来带大家深入了解一下webpack核心概念中的输出(Output),希望对大家有所帮助!

聊聊Python里面的Self,是谁啊?聊聊Python里面的Self,是谁啊?May 15, 2023 am 08:01 AM

大家学Python面向对象的时候,总会遇到一个让人难以理解的存在:self。这个self到底是谁啊,为什么每个类实例方法都有一个参数self,它到底有什么作用呢?「先下结论:类实例化后,self即代表着实例(对象)本身。」想要理解self有个最简单的方法,就是你把self当做「实例(对象)的身份证。」Python的类不能直接使用,只有通过创建实例(对象)才能发挥它的功能,每个实例(对象)都是独一无二的,它可以调用类的方法、属性。类就像灵魂附体一样,让实例(对象)有了自己(self)的功能。初学者

CSS 内容属性详解:content、counter 和 quotesCSS 内容属性详解:content、counter 和 quotesOct 21, 2023 am 10:16 AM

CSS内容属性详解:content、counter和quotesCSS(层叠样式表)是前端开发中不可或缺的一部分,它可以帮助我们美化网页并增强用户体验。在CSS中,有一些特殊的属性可以用于控制文本内容的显示,其中包括content、counter和quotes。本文将详细介绍这些属性,并提供具体的代码示例。一、content属性content属性

PHP将 GD 图像输出到浏览器或文件PHP将 GD 图像输出到浏览器或文件Mar 21, 2024 am 10:41 AM

这篇文章将为大家详细讲解有关PHP将GD图像输出到浏览器或文件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。PHP将GD图像输出到浏览器或文件引言phpGD库为处理图像提供了强大的功能,允许您创建、编辑和输出图像。可以将图像输出到浏览器或文件,以进行显示或进一步处理。输出到浏览器要将图像输出到浏览器,请使用以下步骤:创建图像资源:使用imagecreate()函数创建图像资源。加载图像数据:使用imagepng()、imagejpeg()或imagegif()

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前By尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
4 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )专业的PHP集成开发工具

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具

SecLists

SecLists

SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。