如何使用php下载此类文件?

如何使用php下载此类文件?,php,web-scraping,simple-html-dom,Php,Web Scraping,Simple Html Dom,所以,我正在尝试从picjumbo.com网站自动下载图像。到目前为止,大多数工作都像查找img src和找到它的图像等。但当我尝试下载图像时,我得到的只是一个html文件(用notepad++打开这些文件以查看)。加载该页面后,我如何下载该文件?我把我的代码放在下面。除了得到最终的图像,一切都正常( 如何下载该图像? 文件下载页面: 页面加载后如何保存该图像 谢谢 <?php include("simple_html_dom.php"); $file = "http://picjum

所以,我正在尝试从picjumbo.com网站自动下载图像。到目前为止,大多数工作都像查找img src和找到它的图像等。但当我尝试下载图像时,我得到的只是一个html文件(用notepad++打开这些文件以查看)。加载该页面后,我如何下载该文件?我把我的代码放在下面。除了得到最终的图像,一切都正常(

如何下载该图像? 文件下载页面: 页面加载后如何保存该图像

谢谢

<?php

include("simple_html_dom.php");

$file = "http://picjumbo.com/";


$files = file_get_contents($file);
$html = new simple_html_dom();  
$html->load($files);  


foreach($html->find('img[class=image]') as $element){
    $img_src = explode('/',$element->src);
    $img_src  = explode('-',$img_src[5]);
    $img = $img_src[0];
    $url = 'http://picjumbo.com/download?d='.$img.'.jpg';
    copy($url, 'images/'.$img); 
}

当您尝试下载该链接而不是图像时,您会看到一个HTML页面的原因是该页面是一个HTML页面,而不是图像。如果您单击它,它会将您带到一个HTML页面而不是图像。现在,加载该页面后,它会使用HTML代码第12行的以下命令重定向您下载图像:

<meta http-equiv="refresh" content="0; url=http://picjumbo.com/wp-content/themes/picjumbofree/run.php?download&d=IMG_3642.jpg">

为了下载此图像,您必须将此HTML页面收集到一个变量中,并以某种方式对其进行解析以从中获取URL,然后使用
file\u get\u contents()
下载图像。要解析图像,您可以使用类似于
SimpleHTMLDOM
的东西来读入图像,或者因为您只是在寻找一个标记,如果它在文档中一致出现,您可以拉出第12行,然后使用一些创造性的
substr()
获取URL的操作。

URL重定向到使用Javascript开始单独下载的页面。如果您观察浏览器开发人员工具的“网络”选项卡中发生的情况,您将看到图像的实际URL为:

http://picjumbo.com/wp-content/themes/picjumbofree/run.php?download&d=$img.jpg

他正在使用简单的HTML DOM。@Barmar是的,但没有找到正确的元素。他需要找到
标记以获得正确的URL进行下载。我只是想彻底了解一下。:-)
http://picjumbo.com/wp-content/themes/picjumbofree/run.php?download&d=$img.jpg