如何查找特定URL下的所有网站。

问题描述 投票:0回答:3

我真的想知道如何在某个URL下查找所有网站。例如,我有一个https://a.b/c的URL,我想找到它下面的所有网站,如https://a.b/c/dhttps://a.b/c/d/e。有一些方法可以做到这一点吗?非常感谢!

python html web web-crawler
3个回答
1
投票

如果页面与来自根页面的超链接互连,则可以通过以下内部链接轻松地对网站进行spider。这将要求您加载根页,解析其超链接,加载这些页面并重复,直到没有检测到新的链接。您需要实施循环检测以避免抓取已爬网的页面。蜘蛛礼貌不是微不足道的;许多网站通过robots.txt文件或其他方式公开元数据,以指示他们不希望将其网站的哪些部分编入索引,并且它们可能运行缓慢以避免消耗过多的服务器资源。你应该尊重这些规范。

但是,请注意,如果未从网站明确链接所有页面,则没有通用的方法来枚举所有页面。这样做需要:

  • 该站点启用了目录列表,因此您可以识别存储在这些路径上的所有文件。大多数网站都不提供此类服务;要么
  • 与网站运营商或网络服务器合作,查找这些路径下列出的所有网页;要么
  • 蛮力搜索这些路径下的所有可能的URL,这是一个有效无限的集合。实施这样的搜索对于网站的运营商来说是不礼貌的,在时间和精力方面是禁止的,并且不能是详尽无遗的。

0
投票

与@Cosmic Ossifrage的建议一起,您可以查找站点地图。它经常在根(https://www.example.com/robots.txt)中找到的robots.txt中引用。这可能链接到站点地图xml,其中包含网站上的链接列表,这些链接可能是也可能不是详尽无遗的。


0
投票

使用Xenus Link Sleuth,WebCheck和DRKSpider。

以下是以下链接

  1. Link Sleuth:http://home.snafu.de/tilman/xenulink.html
  2. WebCheck:https://arthurdejong.org/webcheck/
  3. DRKSpider:http://www.drk.com.ar/spider.php
© www.soinside.com 2019 - 2024. All rights reserved.