使用PHP以编程方式生成网站中包含的所有页面的列表

时间:2010-01-28 01:50:06

标签: php web-crawler

如何使用PHP以编程方式生成给定网站的所有页面的列表?

我基本上想要实现的是在嵌套的无序列表中生成类似于站点地图的内容,其中包含网站中包含的所有页面的链接。

2 个答案:

答案 0 :(得分:1)

您可以使用glob功能轻松列出文件...但如果网页使用包含/要求和其他内容将多个文件混合到“一页”中,则您需要导入Google“网站” :mysite.com“搜索结果..或者只是创建一个包含每页网址的表格:P

也许这有助于: http://www.xml-sitemaps.com/(SiteMap Generator)

答案 1 :(得分:1)

如果所有页面都相互链接,那么您可以使用爬虫或蜘蛛来执行此操作。

如果页面中没有全部链接,则需要提供其他方法。 你可以试试这个:

  1. 添加“图片错误/网络信标/网络 错误“到您跟踪的每个页面 如下:
    OR
    或者为每个调用/scripts/logger.php的页面添加一个javascript函数。您可以使用任何使这个超级简单的javascript库,如Jquery,Mootools或YUI。
  2. 创建logger.php脚本,让它将请求的原始URL保存在文件或数据库的某个位置。
  3. 优点:   - 相当简单

    缺点:

    • 需要对每个页面进行修改
    • 未访问过的网页无法访问 登录

    其他一些技术并不适合您以编程方式进行,但可能值得考虑包括:

    • 创建蜘蛛或抓取工具
    • 使用诸如CURL之类的裂土器或 Teleport Plus。
    • 使用Google Analytics(类似于 图像错误技术)
    • 使用像Webstats或a这样的日志分析器 免费的UNIX webstats分析器