作为一项任务的一部分,我试图获取网页上的所有链接和子域名。一个例子是对“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解决方案。
不要使用“点击这里”作为锚文本。提供一些有关您要链接到的页面的有用信息。 –
如果有[站点地图文件](https://en.wikipedia.org/wiki/Sitemaps),您可以尝试。如果有的话,你不会得到一个真正的网站地图,只有所有者想分享的站点地图。但这可能是一个开始。 – knut