2015-11-24 82 views
0

我想通过机械化加载以下页面动态页面:刮使用机械化和Ruby

http://www.amazon.com/dp/B014R6MVH2

产品说明DIV(DIV ID =“产品描述)似乎是一个JavaScript驱动部分,正因为如此,不可用机械化。

是否有任何解决这个?也许一块宝石,我可以用它来执行JavaScript,看到了部分?

另一个选择可能是使用无头浏览河我尝试过硒,但它比机械化慢得多。

+0

欢迎堆栈Overflow.This覆盖堆栈溢出多次,并在互联网上。你在哪里看,你有什么尝试,为什么没有这些页面帮助?如果你做一些搜索,你会发现你的问题的解决方案。 –

+0

你好。在发布这个问题之前,我已经查看了Stack Overflow和互联网。我之前在这里找到的最佳解决方案是使用Execjs(Ruby Gem)和机械化来提取javascript,但没有解释如何这样做。其他人推荐无头浏览器,但是硒(例如)资源非常沉重,无法在性能方面比较机械化。 –

回答

0

它为我的作品:

agent = Mechanize.new 
page = agent.get 'http://www.amazon.com/dp/B014R6MVH2' 
page.at('#productDescription .content').text 
#=> Description This item is a simple and useful wedding banner.... 
+0

谢谢 - 与默认机械化用户代理正常工作,但在使用自定义用户代理时停止工作 –