html 用 php 解析 simple_html_dom

html parsing with php simple_html_dom

我正在解析互联网报纸的专栏页面。我对这个网站有疑问

http://www.sozcu.com.tr/kategori/yazarlar/

开始时解析工作正常,但后来停止了。

这是我的代码

$curl_handle=curl_init();
curl_setopt($curl_handle, CURLOPT_URL,$gazeteAdress);
//curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2);
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl_handle, CURLOPT_USERAGENT, 'mozilla');
$query = curl_exec($curl_handle);
curl_close($curl_handle);
$html = new simple_html_dom();
$html->load($query);

我不知道为什么我的代码有时不解析站点,所以我在考虑 connection_timeout。但这不是问题,所以我想用 curl 打印 html 页面。

echo $html;

这是结果。 (有时我的代码没有正确解析 html 页面)

为什么 html 标签没有出现,为什么会看到这样的结果。有人可以帮忙吗?

将此添加到您的 php 脚本之上

header('Content-Type: text/html; charset=utf-8');

内容以压缩形式返回,因此您应该为 curl 指定 Accept-Encoding 和 'gzip,deflate' header。

请添加这一行
curl_setopt($curl_handle, CURLOPT_ENCODING, "gzip,deflate");
之后
curl_setopt($curl_handle, CURLOPT_USERAGENT, 'mozilla');