0
我正在编写一个小应用,它从一个URL开始,然后查看该特定页面中的所有链接。 接下来,它将继续进行所有链接并抓取内容,但仅显示特定内容(具有10个或更多字符的数字)。 这是我的代码,但它检索空白页,有什么不对?使用CURL在页面中的所有链接(如蜘蛛)上获取特定内容
//I
$url = 'http://xxx.xxx';
$str = file_get_contents($url);
$original_file = file_get_contents($url);
$stripped_file = strip_tags($original_file, "<a>");
preg_match_all("/<a(?:[^>]*)href=\"([^\"]*)\"(?:[^>]*)>(?:[^<]*)<\/a>/is", $stripped_file, $matches);
$links = $matches[1];
//print_r($links);
//F
//F
$count = count($links);
for($i=0;$i<=$count;$i++)
{
//I
$curl_handle=curl_init();
curl_setopt($curl_handle, CURLOPT_URL,$links[$i]);
curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2);
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl_handle, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.7.3) Gecko/20041001 Firefox/0.10.1');
$query = curl_exec($curl_handle);
curl_close($curl_handle);
preg_match_all('/\b3\d+/', $query, $matches2);
$numbers = $matches2[0];
$count = 0;
foreach($numbers as $value) {
if(strlen((string)$value) >= 10) echo '<br><br>[' . $count++ . "]" . $value;
}
//F
}
//F
我不会为每个请求初始化一个新的curl实例。使用'Keep-Alive'的好处并重新使用curl会话。 – DanFromGermany
我注意到你没有执行任何调试。 [启用错误报告](http://blog.flowl.info/2013/enable-display-php-errors/)并重试。 – DanFromGermany