PHP 简单 HTML DOM 解析器在有效 url 上返回 false

2023-11-24

我正在尝试以下操作:

$url = 'https://www.tripadvisor.es/Hotels-g187514-Madrid-Hotels.html'

$ta_html = file_get_html($url);
var_dump($ta_html);

它返回 false,这正在工作并正确获取 html:

$url = 'https://www.tripadvisor.es/Hotels-g294316-Lima_Lima_Region-Hotels.html#ACCOM_OVERVIEW'

我的第一个想法是它有一个重定向,但我用curl检查了标头,结果是200 ok,这两种情况看起来都是一样的。会发生什么?如何解决?

这似乎是这个问题的重复:简单的 HTML DOM 返回 false这也没有答案


HTML DOM 解析器似乎失败,因为 HTML 文件大小大于库的最大文件大小。你打电话时file_get_html()它根据它进行文件大小检查MAX_FILE_SIZE持续的。因此,在调用任何 HTML DOM 解析器方法之前,请通过调用以下命令来增加库使用的最大文件大小:

define('MAX_FILE_SIZE', 1200000); // or larger if needed, default is 600000

另外,正如您发现的那样,您可以通过执行此操作来解决文件大小检查问题

$html = new simple_html_dom();
$html->load($str);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHP 简单 HTML DOM 解析器在有效 url 上返回 false 的相关文章