我正在尝试解析网站以获取航空信息。这是该网站的链接
问题是脚本只显示整个结果集中的前20个条目(单个页面值)(38)并且我无法遍历其他页面,因为下一个网址没有任何内容页面信息。这是我的代码:
$DOM = new DOMDocument();
$DOM->loadHTMLFile($url);
$selector = new DOMXPath($DOM);
$elements = $selector->query('//td[@headers="notam"]');
if (!is_null($elements)) {
foreach ($elements as $element) {
echo "<br/>";//[". $element->nodeName. "]";
$nodes = $element->childNodes;
foreach ($nodes as $node) {
$display = $node->nodeValue;
if($display <> NULL){
echo $node->nodeValue. "<br>";
}
}
}
}
答案 0 :(得分:1)
我无法真正看到在集合中迭代的问题...如果在查询字符串中添加page = x,它肯定会起作用。你能告诉我们更多细节吗?
Example page 1 Example page 2(有......?页面= 2 ......,网址的其余部分不会更改)
如示例1所示,您可以在第一个网址中使用page = 1,这样您的代码就更容易了。
根据您的服务要求,我还会考虑使用Kimonolabs website to api service,因此您最终会使用Guzzle等库来查询简单的json api,以使您的代码易于维护且易于阅读