【发布时间】:2015-10-29 18:13:05
【问题描述】:
我正在用 PHP 编写一个爬虫,它读取 HTML 并将其存储在一个变量中。如果站点没有重定向,则该代码效果很好。例如,如果我抓取 Google,我有以下内容:
CURL 结果
<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>302 Moved</TITLE></HEAD><BODY>
<H1>302 Moved</H1>
The document has moved
<A HREF="http://www.google.com.br/?gfe_rd=cr&ei=A14yVviJCuyp8wfmyIfIBg">here
</A>.
</BODY></HTML>
PHP 方法
private function parseHTML($url){
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HTTPHEADER, array('X-Apple-Tz: 0', 'X-Apple-Store-Front: 143444,12'));
ob_start();
curl_exec($curl);
curl_close($curl);
$html = ob_get_contents();
ob_end_clean();
return $html;
}
如何重定向到目标页面,抓取 HTML 并返回代码?
【问题讨论】:
-
当您获得 302 页面内容时。 HTTP 状态标头是否也设置为 302?