找回密码
  注册[Register]
查看: 540|回复: 13

[web] 【web爬虫源码】php爬虫把整个彼岸网的壁纸图片都下载下来

[复制链接]
发表于 2022-7-3 22:46 | 显示全部楼层 |阅读模式
禁止求评分、诱导评分、互刷评分、互刷悬赏值,违规者封号处理。
禁止发布推广、邀请码、邀请链接、二维码或者有利益相关的任何推广行为。
所有非原创软件请发布在【精品软件区】,发帖必须按照本版块版规格式发帖。

前言

周末下雨,闲着没事干,打算上网下载张几张美女图做壁纸养养眼,于是百度美女壁纸,进入到一个叫彼岸网的壁纸网站,开始一张一张地挑选,突然心跳加速{:1_899:},终于找到自己喜欢的,当点击下载的时候,好家伙,下载居然要登录??作为一名”白嫖”侠,这显然不能忍,突然想如果写一只爬虫,把图片爬下来不就行了吗:keai,于是对网站进行分析,然后就有了这个程序。


实现效果



全部爬完
共有13911张壁纸,1.59G
11.png

使用技术
QueryList(php爬虫库),官网: http://www.querylist.cc/

实现核心步骤
本次爬的目标网站为彼岸网(https://pic.netbian.com/),打开网站首页如下:
22.png
使用审查元素功能,找到存放图片的html元素,图片存放在元素为clearfixli元素里面如下:
33.png

44.png

只要爬取[backcolor=rgba(0, 0, 0, 0.03)].clearfix li>a>img元素里面的src属性和alt属性即可获得图片url和图片标题,实现代码如下

// 采集规则$rules = [  // 表示 获取类型为.clearfix li a img 元素的 alt属性值  "title"=>[".clearfix li a img","alt"],  // 表示 获取类型为.clearfix li a img 元素的 src属性值  "link"=>[".clearfix li a img","src"],   ];
执行// $url 要爬取的页面网站$url = "https://pic.netbian.com/index_2.html";// 'UTF-8','GB2312':设置编码格式 ,执行获取数据$data = (new QueryList)->Query($url,$rules,'','UTF-8','GB2312')->data;
// $data 是一个数组,爬虫获得的数据如下[  {  "title": "澶澶 灏濂 缁杈瀛 姹借溅4kㄦ极澹绾",  "link": "/uploads/allimg/220702/224637-16567731978388.jpg"  },  {  "title": "浠濂充 搴 缇濂 椴 辩e缇4k缇濂冲绾",  "link": "/uploads/allimg/220702/222610-1656771970e92c.jpg"  },  {  "title": "杩ㄧ濂 缃 妤 娓扮濂4k澹绾",  "link": "/uploads/allimg/220702/222125-1656771685f559.jpg"
可以根据网址实现遍历爬取整个网站壁纸
55.png
// 第二页https://pic.netbian.com/index_2.html// 第三页https://pic.netbian.com/index_3.html// 依次次类推
我们只需 动态变更网站$url即可,爬网第一张后,$start + 1 开始爬取第二页,依次爬取,直到完成所有$start = $start + 1;$url = "https://pic.netbian.com/4k/index_".$start.".html";

获取完整代码: 阿里云=> https://www.aliyundrive.com/s/aNw54q6Wrbn

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2022-7-3 22:46 | 显示全部楼层
感谢楼主分享
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2022-7-3 22:46 | 显示全部楼层
6666
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2022-7-3 22:58 | 显示全部楼层
谢谢@Thanks!
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2022-7-3 23:14 | 显示全部楼层
先收藏了,万一用到呢
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2022-7-3 23:22 | 显示全部楼层
谢谢分享
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2022-7-3 23:31 | 显示全部楼层
多谢楼主分享
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2022-7-3 23:34 | 显示全部楼层
谢谢大牛
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2022-7-4 06:11 | 显示全部楼层
谢谢大佬
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2022-7-4 08:39 | 显示全部楼层
谢谢大佬分享
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

RSS订阅|手机版|小黑屋|大牛论坛 |我的广告

GMT+8, 2024-5-3 23:23 , Processed in 0.046005 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表