0

我试图使用这里给出的脚本php 从 url 获取所有图像,宽度和高度 >=200 更快

我下载并使用了这里给出的 simple_html_dom.php http://sourceforge.net/projects/simplehtmldom/

它适用于大多数网址,但是当我使用类似http://www1.macys.com/shop/mens-clothing/mens-athletic-wear?id=59165&edge=hybrid&cm_sp=us_men%27s-men%27s-apparel- activewear-_-t-shirts#!fn=APPAREL_TYPE%3DT-Shirts%26sortBy%3DORIGINAL%26productsPerPage%3D40&!qvp=iqvp

脚本只是崩溃了。有人可以帮忙吗?

编辑:我提出错误报告,它给出了这个。

致命错误:在第 16 行的 /var/www/smartbiz/smartbiz/test2.php 中的非对象上调用成员函数 find()

第 16 行:if ($html->find ( 'img' )) {

EDIT2:不确定这是否相关PHP simple html dom: apache crashsPHP simple html dom: apache crashs

4

1 回答 1

0

您可以将代码包装在 try-catch 语句中。

<?
try{

   // Your image checking code..

}catch( Exception $e ){
   echo "Image not found: $e";
}
?>

听起来错误是没有加载 HTML。我们需要更多你的代码,否则我只能给你基本的调试建议。

  1. 将“失败”的链接复制并粘贴到浏览器中,并检查它是否正常工作。
  2. 尝试以另一种方式将 HTML 加载到 Simple HTML DOM 中。
  3. 如果这些不起作用,请转储 $html 变量以查看发生了什么。
  4. 如果循环适用于某些人而不适用于其他人,那么有什么不同?URL 结构,字符编码是否存在/缺失?

尝试以另一种方式放置 HTML。

$html = str_get_html( file_get_contents( $YOUR_URL ) );

我希望这有帮助。

于 2012-10-28T04:25:25.127 回答