PHP获取一个网页内的图片_分享创造-使用PHP开发一键获取网页所有图片

今天在某个群里看到有这样的需求,就是在一个网页上看到有很多喜欢的图片,但是一个一个下载确实挺累的,而且也没有任何效率可言。本着助人为乐的心情,所以就写了这样的一个小功能。

d0ea9afc151454c94dfa67a8760defac.png

使用的是 PHP 语言开发,用到了 simple_html_dom 这个类,这个类已经不止一次出现在我的博文里了... 如果有兴趣的话可以在博客内搜索 “爬虫”。

使用这个类之后一切变得很简单,通过几句代码就能获取到网页的所有 img 标签。$html = file_get_html('目标网址');

foreach ($html->find('img') as $key => $value) {

//$value 就是img标签

//比如获取 src 属性:

echo $value->src;

}

获取到所有图片之后,可以使用 file_get_contents 函数进行访问图片地址并拿到图片数据。

然后存放在本地,然后再使用 PHP ZIP 扩展,将图片存储的目录遍历文件打包。

fd813e234d0fe2938bdca8c7d938e548.png

原理非常简单,一句话讲完就是:根据目标网址,使用 simple_html_dom 获取到网页的所有 img 标签,然后根据 img 标签的 src 属性,拿到图片地址,再进行访问图片地址拿到图片数据,然后将图片保存在本地指定目录。最后使用 PHP ZIP 扩展将目录遍历打包并提供下载。

整套代码其实只写了一个文件就实现这个功能了。放出来给大家使用:https://pan.baidu.com/s/1uf5oRDy-q6NJ9F3nOUOJyw 提取码:dzyo

使用之后,每个获取一个网页的所有图片,数据都会存放在根目录下的 data 目录里,所以需要定期清理一下这个目录,直接删掉 data 目录就行,当然不清理也没问题,只要不觉得占用存储空间就行。

8157c752deda7ccd16be74b3a18abaec.png

这套代码也有一些缺点,如果目标网页存在反爬虫或者防盗链,那这套代码就失效没有任何作用了。除了防盗链和反爬虫,还有使用 JS 进行动态渲染加载的网页也同样无法获取到图片。

最后还是说一下,不要用于违法行为,如果图片存在版权问题或者其他问题,导致的后果由使用者自行承担。

放上程序的效果图:

e5217420be8a4ee0a52b1f70a793b937.png

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值