尝试使用Curl抓取这篇ny时代的文章:Article
功能
function get_content_curl($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_AUTOREFERER, TRUE);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
他无法抓取重定向到登录页面的文章并抓取登录页面而不抓取文章。为什么呢?
如何防止重定向?我也试过CURLOPT_FOLLOWLOCATION, false
但是很有效。如何解决这个问题?
回答我自己的问题:
添加了这两行用于创建和阅读cookie,它可以正常工作。
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookies.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookies.txt');