使用 simplHtmlDom 找不到任何东西
Can't find anything using simplHtmlDom
在我的主机上,我抓取了一些不同的网站,直到昨天一切正常。
更改主机服务器后,它们不再工作。
是这样的情况:
我可以使用 simpleHtmlDom
和 Curl
获取整个页面的 html ,但无法使用 find
获取任何内容。
$str = file_get_contents($url);
$html = str_get_html($str);
if (!empty($html)) {
echo "html is not null";
if( $html->find('div[class="header"]' , 0)){
echo "found";
}
}
结果:
html is not null
我在不同的网址和不同的网站上检查过,结果是一样的!有什么建议吗?
编辑:
-尝试不同的方式获得 html:
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 10);
$str = curl_exec($curl);
$html = str_get_html($str);
和
$html = file_get_html($url);
和
$html = new simple_html_dom();
$html->load($url);
结果相同。
- 向我的托管支持发送邮件,并询问导致这种情况发生的任何配置更改。他们说他们改变了我主机的服务器。
- 在遇到问题之前,我没有对我的脚本做任何更改。
根据托管支持,将 PHP 版本更改为 7.2 是 solution.Now 我所有的脚本都能完美运行。
在我的主机上,我抓取了一些不同的网站,直到昨天一切正常。
更改主机服务器后,它们不再工作。
是这样的情况:
我可以使用 simpleHtmlDom
和 Curl
获取整个页面的 html ,但无法使用 find
获取任何内容。
$str = file_get_contents($url);
$html = str_get_html($str);
if (!empty($html)) {
echo "html is not null";
if( $html->find('div[class="header"]' , 0)){
echo "found";
}
}
结果:
html is not null
我在不同的网址和不同的网站上检查过,结果是一样的!有什么建议吗?
编辑:
-尝试不同的方式获得 html:
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 10);
$str = curl_exec($curl);
$html = str_get_html($str);
和
$html = file_get_html($url);
和
$html = new simple_html_dom();
$html->load($url);
结果相同。
- 向我的托管支持发送邮件,并询问导致这种情况发生的任何配置更改。他们说他们改变了我主机的服务器。
- 在遇到问题之前,我没有对我的脚本做任何更改。
根据托管支持,将 PHP 版本更改为 7.2 是 solution.Now 我所有的脚本都能完美运行。