屏幕刮擦完全渲染的页面

Nub*_*uby 1 ruby iframe jquery screen-scraping

我试图弄清楚如何捕获完全渲染的页面并操纵它.我一直在使用Nokogiri,Hpricot,Mechanize等,但是没有人可以捕获一个页面,其元素由AJAX或事后其他东西呈现.

一个例子是Twitter的状态页面,这是我遇到的很多项目之一,我遇到了麻烦:

http://twitter.com/#!/nytimes/status/42341419062525952

要么

http://twitter.com/#!/alleyinsider/status/42337897038364672

如果您查看HTML源代码,它主要是javascript,以后会显示.在Firebug或其他控制台中检查它,您会看到完全渲染的结果,但我不知道如何使用上述工具捕获它.我错过了什么吗?

顺便说一句:是的,我知道有一个Twitter API.但这更像是一个理论问题,因为我在其他一些网站上有不同程度的影响.

谢谢!

the*_*Man 5

...没有人可以捕获其元素由AJAX或事后其他东西呈现的页面.

那是正确的.您搜索的内容在捕获时不存在于文档中,它是由浏览器处理JavaScript而插入的,JavaScript通过AJAX请求内容并将其插入到页面中.

因此,要获得您想去的地方,您需要一个JavaScript解释器或代码控制下的浏览器.

的Watir项目能够这样做的.它就像是Mechanize之上的下一步,除了不是Ruby代码,它是一个浏览器被告知你的Ruby代码要做什么.因此,浏览器应该能够加载页面,处理JavaScript,然后拉入您正在寻找的内容.

上的Watir变化为不同的浏览器,所以你可以使用IE浏览器,Safari浏览器,Firefox等