一文简述用php实现爬虫(下载英雄联盟所有英雄图片)
2021/7/18 1:06:36
本文主要是介绍一文简述用php实现爬虫(下载英雄联盟所有英雄图片),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一文简述用php实现爬虫
本文将用最简单的方法实现爬虫,用php语言实现。在本文里,不会使用专业术语,甚至可能会出现很多不正确的专业术语,还请各位海涵。
步骤
- 一文简述用php实现爬虫
- 使用步骤
- 1.找到数据URL
- 2.找到图片URL
- 3.代码详解
- 4.运行
使用步骤
1.找到数据URL
英雄资料的相关信息都会以数组或关联数组的结构储存起来。此时我们按住浏览器F12,点击网络或者NetWork,在左侧的各个文件寻找数组的位置,并且右键复制link address。我们就已经找到了URL。
2.找到图片URL
将鼠标放在任何一个.jpg上,都会出现该图片所在的地址。观察可发现规律,所有英雄的图片所在地址都是https://game.gtimg.cn/images/lol/act/img/champion/英文名.png 这样命名的。所以我们需要找到每个英雄对应的英文名,即可获得图片的URL。
在之前的数组中,里面有一个alias的变量是用来记录每个英雄的英文名的。那么我们可以通过这个获得英雄的英文名从而得到图片的URL。
3.代码详解
<?php $URL = 'https://game.gtimg.cn/images/lol/act/img/js/heroList/hero_list.js'; $jsonarr = json_decode(file_get_contents('https://game.gtimg.cn/images/lol/act/img/js/heroList/hero_list.js'),true); //file_get_contents获取此页面上的信息,json_decode用于解码成数组 //那么我们就可以获得所有英雄资料的数组了,名字叫$jsonarr for($i = 0 ; $i<count($jsonarr['hero']); $i++){ //遍历$jsonarr里面的变量[hero] $herolist = $jsonarr['hero']; //获得英雄列表 $hero = $herolist[$i]; //将英雄列表的每一个取出来,就是每个英雄 $EngName = $hero['alias']; //获得每个英雄的英文名 $Cname = $hero['name']; //获得每个英雄的中文名 // echo($EngName)."\t"; $heroimgURL = "https://game.gtimg.cn/images/lol/act/img/champion/{$EngName}.png"; //拼接URL //图片的URL,就可以将英文名拼接上去,获得每个英雄图片的URL $heroimg = file_get_contents($heroimgURL); //先获得每个图片的URL mkdir('lolheroimage',0777,true); // 创建目录 $path = 'lolheroimage/'; //设置路径,也就是刚刚创建的这个 file_put_contents("{$path}{$Cname}.jpg",$heroimg); //将图片保存起来 //参数意思分别为("{路径}{图片名}.jpg",图片URL) } ?>
4.运行
图片结果如下:
这篇关于一文简述用php实现爬虫(下载英雄联盟所有英雄图片)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-11开源 PHP 商城项目 CRMEB 二次开发和部署教程
- 2024-11-09怎么使用php在kaufland平台刊登商品?-icode9专业技术文章分享
- 2024-11-05PHP的抽象类和接口是什么,有什么区别-icode9专业技术文章分享
- 2024-11-01开源 PHP 商城项目 CRMEB 安装和使用教程
- 2024-11-01用php和mysql写无限分类,有哪几种方法-icode9专业技术文章分享
- 2024-10-31php数据分表导出时部分数据无法导出什么原因-icode9专业技术文章分享
- 2024-10-30有经验的 PHP 开发者学习一门新的编程语言,有哪些推荐的有前景的语言-icode9专业技术文章分享
- 2024-10-21php 检测图片是否篡改过-icode9专业技术文章分享
- 2024-10-20fruitcake/php-cors 该怎么使用-icode9专业技术文章分享
- 2024-10-18PHP7.1可以使用哪个版本的swoole-icode9专业技术文章分享