如何使用 JavaScript 获取网站中的所有 URL?

新手上路,请多包涵

有人知道一种使用 JavaScript 获取网站中所有 URL 的方法吗?

我只需要以相同域名开头的链接。不需要考虑其他链接。

原文由 netha 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 308
1 个回答

那么这将在 页面 上获得所有相同的主机链接:

 var urls = [];
for(var i = document.links.length; i --> 0;)
    if(document.links[i].hostname === location.hostname)
        urls.push(document.links[i].href);

如果通过 站点, 你的意思是你想递归地获取链接页面内的链接,那就有点棘手了。您必须将每个链接下载到一个新文档中(例如在 <iframe> 中),以及 onload 检查 iframe 自己的文档以获取更多链接以添加到要获取的列表.您需要查找您已经抓取过的 URL,以避免两次获取相同的文档。它可能不会很快。

原文由 bobince 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题