如何使用Nokogiri

时间:2016-02-15 06:31:28

标签: ruby nokogiri

我使用Ruby和Nokogiri宝石来刮擦。

当我从特定网站抓取数据时,使用示例网址

http://www.foo.com/bar.php?s=stuff&sub=morestuff

我最终从Nokogiri的http://www.foo.com/bar.php页面获取了HTML。

如何从包含PHP查询的页面获取HTML?

我使用的代码是:

require 'open-uri'
require 'Nokogiri'

URL = "http://www.foo.com/bar.php?s=stuff&sub=morestuff"
data =  Nokogiri::HTML(open(URL))

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

使用uri并使用参数创建网址

require 'uri'
require 'open-uri'
require 'nokogiri'

uri = URI.parse('http://www.foo.com/bar.php')
params = { :s => "stuff", :sub => "morestuff" }

# Add params to URI
uri.query = URI.encode_www_form(params)

html = open(uri) do |f|
  charset = f.charset 
  f.read
end

doc = Nokogiri::HTML.parse(html, nil, charset)