【问题标题】:How to find files in website directory?如何在网站目录中查找文件?
【发布时间】:2025-12-29 17:10:17
【问题描述】:

我正在创建一个网络爬虫。我想给它一个 URL,它会在目录和子目录中扫描 .html 文件。我一直在寻找两种选择:

  1. scandir($url)。这适用于本地文件,但不适用于 http 站点。这是因为文件权限吗?我猜它不应该起作用,因为每个人都可以访问您的网站文件是很危险的。

  2. 搜索链接并关注它们。我可以在索引文件上执行 file_get_contents,找到链接,然后按照它们访问他们的 .html 文件。

这两种方法中的任何一种都有效吗,还是有第三种选择?

【问题讨论】:

    标签: php web-crawler


    【解决方案1】:

    查找 html 文件的唯一方法是通过服务器返回的文件内容进行解析,除非他们在服务器上启用了目录浏览,这是通常禁用的第一件事,你没有访问权限浏览目录列表,只有他们准备给你看的内容,让你使用。

    您必须启动http://www.mysite.com 并继续扫描指向 html 文件的链接,如果它们有 asp/php 或其他文件然后返回 html 内容怎么办?

    【讨论】:

    • 我就是这么想的。我忘了说,但我当然也会搜索 asp、php 等。虽然,我在为 .php 使用 file_get_contents 时遇到了一个问题。它没有得到 php 回显的内容。
    • 我没有看到,除非它是 phps,或者是专门为 php 脚本设计的。
    • get_file_contents 究竟是做什么的?它返回源代码还是实际代码?
    • 你能想象如果它让你在下面的 asp/php 源代码中?它会让这么多黑客入侵一切!不,它只是返回返回的数据 - 那是 html、exe、img.. 取决于你调用的内容,如果你在 jpg 上调用它,你会得到 jpg 数据
    • 这很奇怪。当我对本地文件执行 file_get_contents 时,也会返回纯 php 代码。但是当我在在线网站上执行此操作时,它只返回生成的 html。
    【解决方案2】:

    您是否考虑使用@987654321@?它可以抓取网站并仅下载具有特定扩展名的文件。

    【讨论】: