【发布时间】:2015-06-25 21:20:22
【问题描述】:
我正在尝试使用 PHP 制作一个简单的网络爬虫,但在获取给定 URL 的 HTML 源代码时遇到问题。我目前正在使用 cURL 来获取源代码。
我的代码:
$url = "http://www.nytimes.com/";
function url_get_contents($Url) {
if (!function_exists('curl_init')) {
die('CURL is not installed!');
}
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $Url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec($ch);
if ($output === false) { die(curl_error($ch)); }
curl_close($ch);
return $output;
}
echo url_get_contents($url);
?>
现在什么都没有回显,也没有任何错误,所以这有点神秘。任何建议或修复将不胜感激
编辑:我添加了
if ($output === false) { die(curl_error($ch)); }
到函数的中间,它最终给了我一个错误(终于!):
无法解析主机:www.nytimes.com
我仍然不知道问题出在哪里。有什么想法吗?
谢谢
【问题讨论】:
-
你从来不用检查 curl 是否成功。
if ($output === false) { die(curl_error($ch)); } -
$Url != $url也 - 变量区分大小写 -
可能 nytimes.com 有一些东西可以防止网络爬行。您是否尝试过使用不同的网址?
-
@AlvaroFlañoLarrondo 错误。
curl -i http://www.nytimes.com/返回一个HTTP/1.1 200响应。
标签: php curl web-crawler