用php simple_html_dom解析html

时间:2015-10-12 09:35:08

标签: php html parsing curl 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。但这不是问题,所以我想用卷曲打印html页面。

echo $html;

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

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

2 个答案:

答案 0 :(得分:1)

内容以压缩方式返回,因此您应该使用' gzip,deflate'来指定Accept-Encoding。卷毛的标题。

请添加此行
<div id="content_full"> <h1>Login to GSEA/MSigDB</h1> <h2>Login</h2> <a href="register.jsp"></a>Click here</div>
在此之后 curl_setopt($curl_handle, CURLOPT_ENCODING, "gzip,deflate");

答案 1 :(得分:0)

在php脚本

上添加此项
header('Content-Type: text/html; charset=utf-8');