2009-11-04 122 views
4

我想为我的网站生成一个图形站点地图。有两个阶段,据我可以告诉:如何生成大型网站的图形站点地图

  1. 抓取网站和分析链接关系来提取树结构
  2. 产生视觉上令人愉悦呈现树的

有谁有实现这一点的建议或经验,或者知道我可以建立的现有工作(理想情况下用Python)?

我碰到一些nice CSS渲染树,但它只适用于3个级别。

感谢

+0

网站一般是图表,而不是它可能会为你复杂的事情树木。 – leonm 2009-11-04 09:22:29

+0

嗯,这是一个很好的观点 - 我的网站有一个侧面导航栏。也许可以通过使用最强的链接从图中形成一棵树。 – hoju 2009-11-04 11:02:26

+0

为SlickMap CSS链接+1 http://astuteo.com/slickmap/提供了一个很好的视觉显示树。 – scunliffe 2010-01-05 17:41:29

回答

3

Here is a python web crawler,这将使一个很好的起点。您的一般策略是这样的:

  • 您需要注意不要出站链接,包括同一域上的链接,但高于您的出发点。
  • 作为你的蜘蛛,该网站收集页面URL的散列映射到每个页面中包含的所有内部URL的列表。
  • 通过此列表传​​递一个令牌给每个唯一的URL。
  • 使用的哈希{令牌=> [令牌]}以产生graphviz文件,将布局的图表为你
  • 的graphviz的输出转换成一个图像映射,其中每个节点链接到它的相应的网页

正如leonm指出的那样,你需要做所有这些工作的原因是,网站是图形而不是树,布局图比你在一个简单的javascript和css中做的更难。 Graphviz擅长它。

+1

graphviz看起来是个不错的主意,虽然图表不太吸引人 – hoju 2009-11-16 23:50:05

4

创建网站地图的唯一自动方法是了解您网站的结构并编写基于该知识的程序。只是抓取链接通常不会工作,因为链接可以在任何页面之间,因此您可以获得图形(即节点之间的连接)。在一般情况下,无法将图转换为树。

因此,您必须自己确定树的结构,然后抓取相关页面以获取页面的标题。

至于“但它只适用于3个级别”:三个级别绰绰有余。如果您尝试创建更多关卡,您的站点地图将变得无法使用(太大,太宽)。没有人会想要下载1MB的站点地图,然后滚动100'000页的链接。如果您的网站发展很大,那么您必须实施某种搜索。

0

要创建网站的图形站点地图,您可以使用Site Visualizer(标准版或专业版)。

安装完毕后,点击项目 - >新建,输入需要抓取的网址,然后点击开始抓取工具按钮。

一旦抓取完成,转到Visual Sitemap tab,点击绘制按钮。该网站将绘制为一组矩形(页面)和带箭头的线条(链接)。您可以向上/向下滚动此可视化,或选择特定页面以突出显示其所有出站链接。点击保存按钮,视觉站点地图保存为图像文件:

graphic sitemap

0

的DYNO映射器(http://www.dynomapper.com)视觉站点地图生成器可以生成大型网站大量图形的站点地图,并会在HTML,XML和PDF导出。如果您之前在您的网站上设置过,则实际上可以使用Google Analytics指标对网站地图中的网页进行排序和过滤。它是完美的可视化站点地图生成器,因为它还执行内容审计并显示您的内容清单。下面的视频介绍了网站地图软件:

DYNO Mapper - Visual Sitemap Generator