我试图从我的博客中抓取 43 篇博客文章并将它们存储在数组中,但是当我 print_r 数组时它只返回前 5 个 [其余为空] 而不是全部 43 个。为什么?我怎样才能得到所有 43 个?我从 WAMP 上的 cmd.exe [命令行] 运行此脚本。
<?php
require 'src/QueryPath/QueryPath.php';
$qp1 = htmlqp('http://myblog.com/blog');
$qp2 = htmlqp('http://myblog.com/blog/Page-2.html');
$qp3 = htmlqp('http://myblog.com/blog/Page-3.html');
$qp4 = htmlqp('http://myblog.com/blog/Page-4.html');
foreach ($qp1->find('ol>li a[href],.jbReadon') as $item) {
$links[] = $item->attr('href');
}
foreach ($qp2->find('ol>li a[href],.jbReadon') as $item) {
$links[] = $item->attr('href');
}
foreach ($qp3->find('ol>li a[href],.jbReadon') as $item) {
$links[] = $item->attr('href');
}
foreach ($qp4->find('ol>li a[href],.jbReadon') as $item) {
$links[] = $item->attr('href');
}
print_r($links);
foreach ($links as $link) {
$url = "http://myblog.com".$link;
$content[] = htmlqp($url)->find('.jbIntroText p')->text();
}
print_r($content);
?>
在数组的第 5 个键之后,所有值都是空的。[我无法从笔记本电脑或网络上传图像,因此这里是 cmd.exe 屏幕截图的链接] http://img546.imageshack.us/img546/6092/cmdafter5arrayisempty.jpg
我显然是一个初学者,所以任何建议如何使这段代码更简洁或如何更好地完成我的抓取原型将不胜感激。也欢迎所有建设性的批评:-P