首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Anemone可以抓取本地存储在我硬盘上的html文件吗?

Anemone可以抓取本地存储在我硬盘上的html文件吗?
EN

Stack Overflow用户
提问于 2012-06-01 00:48:45
回答 1查看 542关注 0票数 2

我希望在网上收集几万页的政府数据(在几千个文件夹中),并将它们全部放入一个文件中。为了加快这个过程,我想我应该先把网站下载到我的硬盘上,然后再用Anemone + Nokogiri这样的东西来抓取它。当我使用政府站点的在线URL尝试示例代码时,一切正常,但是当我将URL更改为本地文件路径时,代码会运行,但不会产生任何输出。代码如下:

代码语言:javascript
复制
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?谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-01 01:44:53

使用这种方法有几个问题。

  1. Anemone期望一个网址发出http请求,而您正在向它传递一个文件。您可以使用nokogiri加载文件,然后通过它进行解析。文件上的链接可能是完整的

,而不是相对路径,在这种情况下,您仍然需要发出http

您可以在本地下载这些文件,然后使用nokogiri遍历这些文件,并将链接转换为本地路径,以便Nokogiri下一步加载

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10837856

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档