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