【发布时间】:2012-05-10 19:33:23
【问题描述】:
我目前正在尝试找出一种方法来编写一个脚本(最好是 PHP),该脚本将爬过一个站点并创建一个站点地图。除了传统的标准页面列表之外,我还希望脚本能够跟踪哪些页面链接到其他页面。
示例页面
A
B
C
D
我希望输出给我类似以下的内容。
页面名称: A
链接到页面 A 的页面:
- B
- C
- D
页面名称: B
链接到页面 B 的页面:
- 一个
- C
等等……
我遇到了多个标准站点地图脚本,但没有一个能真正实现我所寻找的。p>
编辑 看来我没有提供足够的信息。对不起,我在那里不够清楚。这是我目前拥有的代码。我使用 simple_html_dom.php 为我处理解析和搜索 html 的任务。
<?php
include("simple_html_dom.php");
url = 'page_url';
$html = new simple_html_dom();
$html->load_file($url);
$linkmap = array();
foreach($html->find('a') as $link):
if(contains("cms/education",$link)):
if(!in_array($link, $linkmap)):
$linkmap[$link->href] = array();
endif;
endif;
endforeach;
?>
注意:我的小 foreach 循环只是根据 url 中的特定子字符串进行过滤。
所以,我有必要的第一级页面。我陷入困境的是创建一个不会无限期运行的循环,同时跟踪您已经访问过的页面。
【问题讨论】:
-
我已经更新了我的帖子,详细说明了需要什么。
-
感谢您的更新,安迪。这是我们可以合作的东西:) 请记得投票/接受对您有帮助的答案。