从站点获取URL列表

时间:2009-05-13 12:22:58

标签: web-crawler

我正在为客户部署替换网站,但他们不希望所有旧网页都以404结尾。保留旧的URL结构是不可能的,因为它很可怕。

所以我正在编写一个404处理程序,它应该查找被请求的旧页面并永久重定向到新页面。问题是,我需要一个包含所有旧页面网址的列表。

我可以手动执行此操作,但我会感兴趣的是,是否有任何应用程序可以提供相关列表(例如:/ page / path,而不是http:/.../ page / path)URL给出主页。像蜘蛛一样但不关心内容而不是寻找更深的页面。

8 个答案:

答案 0 :(得分:55)

我不是故意回答我自己的问题,但我只想到运行一个站点地图生成器。我找到的第一个http://www.xml-sitemaps.com有一个很好的文本输出。完美满足我的需求。

答案 1 :(得分:40)

wget -r -l0 www.oldsite.com

然后我会相信,只有find www.oldsite.com会显示所有网址。

或者,只需在每个404请求上提供该自定义未找到的页面! 即如果有人使用了错误的链接,他会告诉页面没有找到该页面,并提供有关网站内容的一些提示。

答案 2 :(得分:19)

以下是站点地图生成器列表(显然您可以从中获取站点中的URL列表):http://code.google.com/p/sitemap-generators/wiki/SitemapGenerators

  

网站地图生成器

     

以下是生成或维护文件的工具的链接   XML Sitemaps格式,在sitemaps.org上定义的开放标准   由Ask,Google,Microsoft Live等搜索引擎支持   搜索和雅虎! Sitemap文件通常包含一个集合   网站上的网址以及这些网址的一些元数据。该   以下工具通常会生成“web-type”XML Sitemap和URL-list   文件(有些也可能支持其他格式)。

     

请注意:Google尚未测试或验证这些功能或   本网站上列出的第三方软件的安全性。请   将有关软件的任何问题直接发送给软件作者。   我们希望您喜欢这些工具!

     

服务器端程序

     
      
  • Enarion phpSitemapsNG(PHP)
  •   
  • Google Sitemap Generator(Linux / Windows,32 / 64bit,开源)
  •   
  • Outil en PHP(法语,PHP)
  •   
  • Perl Sitemap生成器(Perl)
  •   
  • Python Sitemap生成器(Python)
  •   
  • 简单站点地图(PHP)
  •   
  • SiteMap XML动态站点地图生成器(PHP)$
  •   
  • OS / 2站点地图生成器(REXX脚本)
  •   
  • XML Sitemap生成器(PHP)$
  •   
     

CMS和其他插件:

     
      
  • ASP.NET - Sitemaps.Net
  •   
  • DotClear(西班牙语)
  •   
  • DotClear(2)
  •   
  • Drupal的
  •   
  • 电子商务模板(PHP)$
  •   
  • 电子商务模板(PHP或ASP)$
  •   
  • LifeType的
  •   
  • MediaWiki Sitemap生成器
  •   
  • 例如mnoGoSearch
  •   
  • OS Commerce
  •   
  • phpWebSite
  •   
  • Plone的
  •   
  • 的RapidWeaver
  •   
  • 的Textpattern
  •   
  • vBulletin
  •   
  • Wikka Wiki(PHP)
  •   
  • WordPress的
  •   
     

可下载的工具

     
      
  • GSiteCrawler(Windows)
  •   
  • GWebCrawler& Sitemap Creator(Windows)
  •   
  • G-Mapper(Windows)
  •   
  • Inspyder Sitemap Creator(Windows)$
  •   
  • IntelliMapper(Windows)$
  •   
  • Microsys A1 Sitemap Generator(Windows)$
  •   
  • Rage Google Sitemap Automator $(OS-X)
  •   
  • Screaming Frog SEO Spider和Sitemap生成器(Windows / Mac)$
  •   
  • Site Map Pro(Windows)$
  •   
  • Sitemap Writer(Windows)$
  •   
  • DevIntelligence网站地图生成器(Windows)
  •   
  • Sorrowmans站点地图工具(Windows)
  •   
  • TheSiteMapper(Windows)$
  •   
  • Vigos Gsitemap(Windows)
  •   
  • Visual SEO Studio(Windows)
  •   
  • WebDesignPros站点地图生成器(Java Webstart应用程序)
  •   
  • Weblight(Windows / Mac)$
  •   
  • WonderWebWare站点地图生成器(Windows)
  •   
     

在线发电机/服务

     
      
  • AuditMyPc.com Sitemap Generator
  •   
  • AutoMapIt
  •   
  • Autositemap $
  •   
  • Enarion phpSitemapsNG
  •   
  • 免费站点地图生成器
  •   
  • Neuroticweb.com网站地图生成器
  •   
  • ROR Sitemap Generator
  •   
  • ScriptSocket Sitemap Generator
  •   
  • SeoUtility Sitemap Generator(意大利语)
  •   
  • SitemapDoc
  •   
  • Sitemapspal
  •   
  • SitemapSubmit
  •   
  • Smart-IT-Consulting Google Sitemaps XML Validator
  •   
  • XML Sitemap生成器
  •   
  • XML-Sitemaps Generator
  •   
     

带有集成Sitemap生成器的CMS

     
      
  • Concrete5
  •   
     

Google新闻站点地图生成器以下插件允许   发布商更新Google新闻站点地图文件,这是一种变体   我们在帮助中心中描述的sitemaps.org协议。此外   对于Sitemap文件的常规属性,Google新闻站点地图允许   出版商用来描述他们发布的内容类型   指定单个文章的访问级​​别。更多信息   有关Google新闻的信息,请访问我们的帮助中心和帮助论坛。

     
      
  • WordPress Google新闻插件
  •   
     

代码段/库

     
      
  • ASP脚本
  •   
  • Emacs Lisp脚本
  •   
  • Java库
  •   
  • Perl脚本
  •   
  • PHP类
  •   
  • PHP生成器脚本
  •   
     

如果您认为应为合法用户添加或删除工具   原因,请在网站管理员帮助论坛中发表评论。

答案 3 :(得分:6)

我发现的最好的是使用Java的http://www.auditmypc.com/xml-sitemap.asp,并且对页面没有限制,甚至可以将结果导出为原始URL列表。

它还使用会话,因此如果您使用的是CMS,请确保在运行爬网之前注销。

答案 4 :(得分:2)

因此,在理想的世界中,您的网站中的所有网页都有一个规范。您还可以使用测试基础架构来访问所有页面以进行测试。

你可能不是一个理想的世界。为什么不这样做??

  1. 在井之间创建映射 已知旧网址和新网址。 看到旧网址时重定向。 我可能会考虑提出一个 “这个页面已经移动了,这是新的网址 是XXX,您将被重定向 不久”。

  2. 如果您没有映射,请提供一个     “抱歉 - 这个页面已经移动了。这是     指向主页“消息和链接”的链接     如果你愿意,可以重定向它们。

  3. 记录所有重定向 - 尤其是     那些没有映射的。随着时间的推移,添加     页面的映射     重要的。

答案 5 :(得分:2)

来自linux盒子的wget也可能是一个不错的选择,因为有切换到蜘蛛并改变它的输出。

编辑:wget也可在Windows上使用:http://gnuwin32.sourceforge.net/packages/wget.htm

答案 6 :(得分:1)

编写一个蜘蛛,它从磁盘读取每个html并输出“a”元素的每个“href”属性(可以使用解析器完成)。请记住哪些链接属于某个页面(这是MultiMap数据结构的常见任务)。在此之后,您可以生成一个映射文件,作为404处理程序的输入。

答案 7 :(得分:0)

我会研究任意数量的在线站点地图生成工具。就个人而言,我过去曾使用过this one(基于java),但如果你搜索“站点地图构建器”,我相信你会发现很多不同的选择。