【问题标题】:Generate a list of all the pages contained in a website programmatically, using PHP使用 PHP 以编程方式生成网站中包含的所有页面的列表
【发布时间】:2011-01-10 05:47:05
【问题描述】:

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

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

【问题讨论】:

    标签: php web-crawler


    【解决方案1】:

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

    如果有些页面没有全部链接,您将需要想出另一种方法。 你可以试试这个:

    1. 添加“图像错误/网络信标/网络 错误”到您跟踪的每个页面 关注:

      或者,向每个调用 /scripts/logger.php 的页面添加一个 javascript 函数。您可以使用任何 javascript 库,如 Jquery、Mootools 或 YUI,使这变得超级简单。
    2. 创建 logger.php 脚本,让它将请求的原始 URL 保存在文件或数据库等位置。

    优点: - 相当简单

    缺点:

    • 需要对每个页面进行编辑
    • 未访问的页面无法获取 记录

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

    • 创建蜘蛛或爬虫
    • 使用 CURL 等 ripper,或 Teleport Plus。
    • 使用谷歌分析(类似于 图像错误技术)
    • 使用 Webstats 等日志分析器或 免费软件 UNIX 网络统计分析器

    【讨论】:

    • 使用谷歌分析!非常感谢!
    【解决方案2】:

    您可以使用glob 函数轻松列出文件...但是如果页面使用包含/需要和其他东西将多个文件混合到“一页”中,您需要导入 Google“site:mysite .com" 搜索结果。或者只是创建一个包含每个页面 URL 的表:P

    也许这会有所帮助: http://www.xml-sitemaps.com/(站点地图生成器)

    【讨论】:

      猜你喜欢
      • 2016-01-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-10
      • 1970-01-01
      • 1970-01-01
      • 2023-03-16
      • 1970-01-01
      相关资源
      最近更新 更多