使用Mechanize gem提取数据。使用CSS标头解析数据

时间:2015-07-15 23:08:54

标签: ruby-on-rails ruby web-scraping mechanize data-extraction

我正在尝试使用Mechanize从网站(http://oregonpinotnoirwine.com/)中提取数据。

我可以访问该网站并选择搜索字段。但我无法获得数据。我在Ruby IRB上这样做。

require 'mechanize'
agent = Mechanize.new

agent.get("http://oregonpinotnoirwine.com/search.php")
form = agent.page.forms[0]
form["wineava"] = "Dundee Hills"
form.submit 

然后我试图提取网站上的所有葡萄酒列表。所以为了做到这一点,我查了网站的CSS并决定使用.a喜欢

 agent.page.search(".a")

但这并没有带来任何回报。但是当我输入

agent.page.search(".") 

它返回网站上的所有数据。现在我只是尝试不同的变化..当我输入

agent.page.search("#wineava") 

它返回来自网站的下拉选项,但不是酒单。

1 个答案:

答案 0 :(得分:0)

所以我对此过度思考。

我需要的所有数据都在下拉菜单中。所以通过

访问网站后
agent.get("http://oregonpinotnoirwine.com/search.php")

我能够通过

获取我需要的数据
agent.page.search("#winemaker") 

但是如果项目没有显示在下拉菜单中,则此方法无效。是吗?