我正在构建一个爬虫,我知道如何使用ruby mechanize使用以下代码从网上读取页面:
require 'mechanize'
agent = Mechanize.new
agent.get "http://google.com"
但我可以使用Mechanize从文件系统中读取HTML文件吗?怎么样?
ben*_*nto 37
只使用file://协议对我很有用:
html_dir = File.dirname(__FILE__)
page = agent.get("file:///#{html_dir}/example-file.html")
关于为什么有人会使用mechanize来读取本地html文件的问题:我发现它有必要用于测试目的 - 只需在本地存储一个示例文件并运行你的rspec.
luc*_*tte -8
恕我直言,在这种情况下尝试使用机械化是没有意义的。也许您想解析 HTML。然后尝试nokogiri(mechanize 也用它来解析)
例如使用
Nokogiri::HTML(open('index.html'))
代替
session.get('http://www.google.com')