什么是抓住动态网站的最佳方法,其中大部分内容是由似乎是ajax请求生成的?我之前有过使用Mechanize,BeautifulSoup和python组合的经验,但我还有新的东西.
- 编辑 - 更多细节:我正在试图刮掉CNN 主数据库.那里有大量的信息,但似乎没有api.
这是一个难题,因为你要么必须在每个站点上对javascript进行逆向工程,要么实现javascript引擎并运行脚本(它有自己的困难和陷阱).
这是一个重量级的解决方案,但我看到人们使用greasemonkey脚本执行此操作 - 允许Firefox渲染所有内容并运行javascript,然后抓取元素.如果需要,您甚至可以在页面上启动用户操作.
-亚当
我发现的最佳解决方案是使用Firebug监视XmlHttpRequests,然后使用脚本重新发送它们.