【问题标题】:Is there a way to get the site map of a domain?有没有办法获取域的站点地图?
【发布时间】:2015-06-21 05:33:17
【问题描述】:

作为作业的一部分,我正在尝试获取网页上的所有链接和子域。例如,“www.stanford.edu”返回 "www.stanford.edu/admissions"、"www.stanford.edu/academics"、"cs.stanford.edu" 等的哈希值。

我找到了使用 Mechanize 和 Spidr gem 的方法,例如“Create dynamic sitemap from URL with Ruby on Rails”和“How can I get all links of a website using the Mechanize gem?”。

但是,使用这些 gem,我只能通过单击网页上的所有链接、访问这些链接,然后也单击这些子页面上的链接来获取站点地图,直到获得站点地图。这是一个非常低效且缓慢的方法,因为大多数时候页面上都有链接,例如广告,它们不属于域。这些不相关的页面最终也会出现在站点地图数组/哈希中。

有没有办法获取网页的站点地图?我也对非 Ruby 解决方案持开放态度。

【问题讨论】:

  • 不要使用“这里”作为锚文本。提供有关您要链接到的页面的一些有用信息。
  • 有Sitemap-file的可以试试。如果有,您不会得到真正的站点地图,只有所有者想要共享的站点地图。但这可能是一个开始。

标签: ruby-on-rails ruby web-crawler mechanize sitemap


【解决方案1】:

我认为除了通过链接之外没有其他可能(尽管可以使用 mechanize 自动化)。服务器可以创建一个动态页面并在任意子域下提供它。除了询问服务器之外,您无法获得该信息。事实上,即使通过所有链接,您也无法获得所有子域。

【讨论】:

  • 非常感谢您的详细回答!只是想确定一下,你认为这个答案是否适用于所有编程语言/工具,或者你知道是否有一种非 ruby​​ 的方式可以在不点击链接的情况下获取站点地图?
  • 这与编程语言无关,如果您正确理解我的答案,您应该知道。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-07-03
  • 2018-07-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多