我希望在网上收集几万页的政府数据(在几千个文件夹中),并将它们全部放入一个文件中。为了加快这个过程,我想我应该先把网站下载到我的硬盘上,然后再用Anemone + Nokogiri这样的东西来抓取它。当我使用政府站点的在线URL尝试示例代码时,一切正常,但是当我将URL更改为本地文件路径时,代码会运行,但不会产生任何输出。代码如下:
url="file:///C:/2011/index.html"
Anemone.crawl(url) do |anemone|
titles = []
anemone.on_every_page { |page| titles.push page.doc.at
('title').inner_html rescue nil }
anemone.after_crawl { puts titles.compact }
end因此,不会输出本地文件名,但如果我插入相应的在线URL,它将成功工作。Anemone不知何故无法爬行本地目录结构?如果没有,有没有其他建议的爬行/抓取方法,或者我应该简单地在网站的在线版本上运行Anemone?谢谢。
发布于 2012-06-01 01:44:53
使用这种方法有几个问题。
,而不是相对路径,在这种情况下,您仍然需要发出http
。
您可以在本地下载这些文件,然后使用nokogiri遍历这些文件,并将链接转换为本地路径,以便Nokogiri下一步加载
https://stackoverflow.com/questions/10837856
复制相似问题