【发布时间】:2011-01-28 10:16:46
【问题描述】:
我想抓取一个网站并将内容存储在我的计算机上以供以后分析。但是我的 OS 文件系统对子目录的数量有限制,这意味着无法存储原始文件夹结构。
建议?
将 URL 映射到某个文件名以便可以平坦存储?或者只是将其塞入像 sqlite 这样的数据库中以避免文件系统限制?
【问题讨论】:
标签: database filesystems web-crawler
我想抓取一个网站并将内容存储在我的计算机上以供以后分析。但是我的 OS 文件系统对子目录的数量有限制,这意味着无法存储原始文件夹结构。
建议?
将 URL 映射到某个文件名以便可以平坦存储?或者只是将其塞入像 sqlite 这样的数据库中以避免文件系统限制?
【问题讨论】:
标签: database filesystems web-crawler
这完全取决于您打算抓取的文本和/或网页的有效数量。一个通用的解决方案可能是
这种方法的优点是 DBMS 仍然很小,但可用于 SQL 驱动的查询(具有即席或编程性质)以根据各种条件进行搜索。在 SQL Server 本身中存储许多/大文件通常没有什么好处(而且很让人头疼)。此外,在处理/分析每个页面时,可以将其他元数据(例如标题、语言、重复次数最多的 5 个单词等)添加到数据库中。
【讨论】:
根据将进行数据挖掘的 PC 的处理能力,您可以将抓取的数据添加到 7zip、zip 或 tarball 等可压缩存档中。您将能够保持目录结构完好无损,并且最终可能会节省大量磁盘空间 - 如果这恰好是一个问题的话。
另一方面,像 Sqlite 这样的 RDBMS 会迅速膨胀,但不会介意长得可笑的目录层次结构。
【讨论】:
将其保存在数据库中将有助于搜索内容和页面元数据。您还可以尝试使用内存数据库或类似“memcached”的存储来加快速度。
【讨论】: