我正在编写一个脚本来从中文网站中提取HTML源代码。 我尝试 file_get_contents 来阅读网络文件
$html = file_get_contents($url);
echo $html;
以下是获得的结果,
我在目标网站中找到了内容类型,
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
所以我尝试将结果转换为utf-8,
$html = file_get_contents('http://newhouse.bt.soufun.com/house/web/Search_Result.php');
$html = mb_convert_encoding($html,'utf-8','GB2312');
echo $html;
结果现在显示,
使用上述选项,我无法获得正确的页面源,这无法进一步解析。我需要解析HTML并使用DOM解析器从中获取结构化数据。在这里,我收到格式错误的HTML响应,无法进一步解析。
我尝试了file_get_contents以及CURL。
我目前陷入困境,任何帮助或建议都将受到高度赞赏。 提前完成。
答案 0 :(得分:2)
该网站可能会向您返回压缩内容。所以解码它。如果需要,可以使用php的gzdecode。
或者,您可以使用curl获取压缩内容并自动解码:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_ENCODING, ""); // handling all compressions
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0');
$result = curl_exec($ch);
curl_close($ch);
print $result;