如何以编程方式与使用AJAX JBoss RichTree组件的网站进行交互?

时间:2013-05-21 03:48:40

标签: python ajax jboss richfaces screen-scraping

我正在编写一个python脚本来对公共网站进行屏幕抓取。这很好,直到我想与AJAX实现的树控件进行交互。显然,有大量的javascript控制着AJAX请求。树控件似乎是JBoss RichFaces RichTree组件。

我应该如何以编程方式与此组件进行交互?

  • 我应该知道哪些技巧?
  • 我应该尝试使用RichFaces AJAX的子集吗?
  • 或者我会更好地为现有的网络浏览器包装一些代码?如果是这样,是否有一个python库可以帮助解决这个问题?

2 个答案:

答案 0 :(得分:1)

您需要从客户端向服务器进行AJAX调用并解释数据。与以任何方式抓取HTML相比,解释AJAX数据更容易,更不容易出错。

虽然没有记录,但如果找出AJAX API可能有点棘手。像wireshark这样的网络嗅探器工具在那里很有帮助,现在也可能有一些有用的插件供您的浏览器使用。多年来我一直不需要那样做。 : - )

答案 1 :(得分:1)

PhantomJS可能是最有趣的项目,让你在一个不错的环境中用一个不错的API来做javascript的东西。虽然它不再支持python本身,但有一些选项可以与它进行交互。有关详细信息,请查看讨论here

还有vanilla webkit(由Qt和PyQT包装)。查看示例here

希望有所帮助:)