Asc*_*hab 2 php html5 web-scraping
我正在尝试以下方法:
$url = 'https://www.tripadvisor.es/Hotels-g187514-Madrid-Hotels.html'
$ta_html = file_get_html($url);
var_dump($ta_html);
Run Code Online (Sandbox Code Playgroud)
它返回false,这是正常工作并正确获取html:
$url = 'https://www.tripadvisor.es/Hotels-g294316-Lima_Lima_Region-Hotels.html#ACCOM_OVERVIEW'
Run Code Online (Sandbox Code Playgroud)
我的第一个想法是它有一个重定向,但我用curl检查了标题,它的200 ok,在两种情况下看起来都是一样的.可能发生什么?怎么解决?
这似乎是这个问题的重复: 简单的HTML DOM返回false也没有答案
Jim*_*Jim 11
看起来HTML DOM解析器失败了,因为HTML文件大小大于库的最大文件大小.当你调用file_get_html()它时,会根据它的MAX_FILE_SIZE常量进行文件大小检查.因此,在调用任何HTML DOM解析器方法之前,通过调用以下方法增加库使用的最大文件大小:
define('MAX_FILE_SIZE', 1200000); // or larger if needed, default is 600000
Run Code Online (Sandbox Code Playgroud)
另外,正如您发现的那样,您可以通过执行此操作来处理文件大小检查
$html = new simple_html_dom();
$html->load($str);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1251 次 |
| 最近记录: |