【发布时间】:2018-07-31 09:56:37
【问题描述】:
我正在为链接数据编写一个网络爬虫,我需要将爬取的 URI 存储在磁盘上(不一定是分布式的,但可能是分布式的)。我的爬虫会不断检查存储中是否存在 URI。如果 URI 确实存在,它什么也不做,如果它不存在,它会爬取 URI 并将 URI 写入存储。起初,由于存储空间相当空,写入会多于读取,但在某些时候,读取会多于写入,我更喜欢更快的读取。我不需要任何加入操作等。 我正在考虑基于文档的 NoSQL 存储,我定义了一个 key="URI 的域",value="整个 URI 的数组"。我不确定是否需要该值的二级索引。
【问题讨论】:
-
我们在谈论多少?将其存储在内存中并使用散列快速检查您是否已经拥有它会更快。
-
@Nic3500 它是无限的,但不要将缩放视为问题。内存不是首选,因为爬虫可能会从它离开的地方重新启动,我需要持久性。
-
为什么不使用现有的开源爬虫并根据您的需要对其进行扩展?
标签: database nosql web-crawler key-value document-storage