写一个php爬虫爬王者荣耀官网的英雄皮肤图片
时间: 2023-06-24 11:03:47 浏览: 166
以下是一个简单的 PHP 爬虫代码,可以爬取王者荣耀官网上所有英雄的皮肤图片:
```php
<?php
// 设置爬虫的起始链接
$url = 'https://pvp.qq.com/web201605/herolist.shtml';
// 获取起始链接的 HTML 内容
$html = file_get_contents($url);
// 使用正则表达式匹配出所有英雄的链接和名称
preg_match_all('/<li><a href="(.*?)" title="(.*?)">/s', $html, $matches);
// 遍历所有英雄链接
foreach ($matches[1] as $key => $hero_url) {
// 拼接英雄链接
$hero_url = 'https://pvp.qq.com' . $hero_url;
// 获取英雄链接的 HTML 内容
$hero_html = file_get_contents($hero_url);
// 使用正则表达式匹配出所有皮肤的链接和名称
preg_match_all('/<li class="pic-big" data-imgname="(.*?)"><a href="javascript:;"><img src="(.*?)" alt="(.*?)"><i><\/i><\/a><\/li>/s', $hero_html, $skin_matches);
// 遍历所有皮肤链接
foreach ($skin_matches[2] as $k => $skin_url) {
// 拼接皮肤链接
$skin_url = 'https:' . $skin_url;
// 获取皮肤图片的二进制数据
$skin_data = file_get_contents($skin_url);
// 保存皮肤图片到本地
file_put_contents($matches[2][$key] . '_' . $skin_matches[3][$k] . '.jpg', $skin_data);
}
}
```
上述代码会遍历王者荣耀官网上所有英雄的链接,然后遍历每个英雄的皮肤链接,最后将每个皮肤的图片保存到本地。请注意,此代码可能会在一段时间后失效,因为网站结构可能会有所更改。
阅读全文