ruby - Nokogiri Mechanize 解析问题

标签 ruby ruby-on-rails-3 nokogiri mechanize

关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。












想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。

7年前关闭。




Improve this question




我正在使用 Mechanize gem 来解析网页
http://www.opentable.com/rest_profile_menu.aspx?rid=116320&scpref=96&tab=1

获取 .menu 类中的内容,但它只获取餐厅的名称

当我输入命令时:

require 'mechanize'

agent = Mechanize.new

agent.get("http://www.opentable.com/rest_profile_menu.aspx?rid=116320&scpref=96&tab=1").link_with(:text =>"Menu").click.search(".menu")

我得到的输出为:
“抱歉,我们目前没有可用于此餐厅的菜单。请稍后再回来查看”;因为我可以在浏览器中看到很多输出。

请帮助我找到获取内容的解决方案。

最佳答案

web page您正在使用 AJAX 请求来加载菜单详细信息。

Nokogiri 和 Mechanize 不支持 AJAX 请求页面。

我在我的项目中遇到了同样的情况。我用过 phantomjs使用 Node.js。

关于ruby - Nokogiri Mechanize 解析问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20840275/

相关文章:

ruby-on-rails-3 - 错误 "...cannot load such file -- mysql2/2.0/mysql2 (LoadError)"。在带有 Ruby 2.0.0 的 Windows XP 上

ruby-on-rails - Ruby/Rails 中的检测 API 的用途是什么?

ruby - 在 Ruby 中使用反引号和管道

ruby - 在 Ubuntu 18.04 上安装 Ruby 2.3.x 在安装过程结束时导致错误

css - 我的 CSS 中的某些东西使我使文本元素出现在其标签下方的一行

ruby - XPath 只选择子元素(不是空白文本节点)

ruby-on-rails - 带有 nokogiri 的空 html

css - nth-child() 和 eq() 有什么区别

ruby-on-rails - Shoulda/RSpec 匹配器 - 条件验证

ruby - 无法编译 ruby​​ 扩展 : CPU you selected does not support x86-64 instruction set