作为任务的一部分,我正在尝试获取网页上的所有链接和子域。例如,“ www.stanford.edu”返回"www.stanford.edu/admissions"
,"www.stanford.edu/academics"
,"cs.stanford.edu"
等的哈希。
[我找到了用机械化和Spidr宝石做到这一点的方法,如“ Create dynamic sitemap from URL with Ruby on Rails”和“ How can I get all links of a website using the Mechanize gem?”所示。
但是,有了这些宝石,我只能通过单击网页上的所有链接,访问这些链接,然后再单击那些子页面上的链接来获得站点地图,直到获得站点地图为止。这是非常低效的,而且速度很慢,因为大多数情况下,页面上的链接(例如广告)不属于域。这些不相关的页面最终也都位于站点地图数组/哈希中。
是否可以获取网页的站点地图?我也对非Ruby解决方案持开放态度。
我认为除了跟随链接之外,其他所有方法都没有(尽管可以使用机械化自动实现)。服务器可以创建动态页面并将其提供到任意子域中。您只能通过询问服务器来获取该信息。实际上,即使跟踪所有链接,您也无法获得所有子域。
您可以使用Visual Studio社区版,您可以从此处下载它https://visual-seo.com/