我要索引的网站相当大,有 1 万页。我真的只想要一个包含所有 URL 的 json 文件,这样我就可以对它们运行一些操作(排序、分组等)。
基本的海葵循环运行良好:
require 'anemone'
Anemone.crawl("http://www.example.com/") do |anemone|
anemone.on_every_page do |page|
puts page.url
end
end
但是(因为站点大小?)终端在一段时间后冻结了。因此,我安装了 MongoDB 并使用了以下
require 'rubygems'
require 'anemone'
require 'mongo'
require 'json'
$stdout = File.new('sitemap.json','w')
Anemone.crawl("http://www.mybigexamplesite.com/") do |anemone|
anemone.storage = Anemone::Storage.MongoDB
anemone.on_every_page do |page|
puts page.url
end
end
它现在正在运行,但是当我早上回来时,如果 json 文件中有输出,我会感到非常惊讶 - 我以前从未使用过 MongoDB,而且海葵文档中关于使用存储的部分并不清楚(对我来说至少)。之前做过这件事的人可以给我一些提示吗?