如何从网站下载所有图像?

时间:2014-02-13 14:14:05

标签: php curl

我想从以下网站下载多张图片: www.bbc.co.uk 我想通过使用PHP cURL来做到这一点,有人可以帮我引导我朝正确的方向发展吗?

一次性下载所有图像会很不错,但是如果有人可以帮我下载,可能只下载一个或一堆很棒!

编辑:显示我尝试的内容是个好主意:

<?php
$image_url = "www.bbc.co.uk";
$ch = curl_init();
$timeout = 0;
curl_setopt ($ch, CURLOPT_URL, $image_url);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);

// Getting binary data
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);

$image = curl_exec($ch);
curl_close($ch);

// output to browser
header("Content-type: image/jpeg");
print $image;
?>

由于某种原因,它不起作用。值得注意的是,我是PHP和编程的绝对主体。

2 个答案:

答案 0 :(得分:2)

您粘贴的上述代码并没有按照您的想法进行操作。

$image = curl_exec($ch);

$image变量不包含任何图像,它实际上包含该网页的整个HTML作为字符串。

如果您更换

// output to browser
header("Content-type: image/jpeg");
print $image;

使用:

var_dump($image);

你会看到html。

这样的事情:

curl output

尝试找到实际的冠军图像源并进行相应的解析

答案 1 :(得分:0)

你只需要整个/ Air / assets / images / champions文件夹吗?

当您使用FireFox和“下载所有内容”等下载插件时,打开冠军图片所在的FTP文件夹(Eambo链接),右键单击,选择插件时,没有比这更容易了。
它将列出所有文件,全部选择或选择您需要的文件并开始下载。

此外,如果您拥有该游戏,您可以查看此路径:

\League of Legends\rads\projects\lol_air_client\releases\<newest-version>\deploy\assets\images\champions  

既然您可能会在大学中使用CHECK THIS,我希望您能找到解决方案。