2010-01-14 36 views
1

我需要一个工具,我可以指向基于Flash的网站,浏览它并检查给定页面上的内容。从Flash网页应用导航和刮取内容

我不认为我可以用硒来做到这一点,因为我无法通过xpaths来定位flash应用程序中的元素。

其他人有什么想法吗?

回答

1

有两种方法可以解决这个问题。如果您要查找的数据位于swf中,则必须下载swf并使用反编译器提取数据。

如果数据是外部的,则可以使用Firebug查看呼叫并尝试对其进行逆向工程。

2

关于TimScollick's answer,很少是位于SWF文件内的内容。 SWF文件通常充满了ActionScript。您不希望在JavaScript文件中找到电话号码列表。

Firebug可能会识别您之后的特定内容,但使用诸如Charles Proxy或screen-scraper的内置代理之类的代理进行代理可能会更好。

就导航网站而言,您可能需要设置您的刮板,以便它发出特定的请求以获得某些值,然后您需要在随后的请求中使用这些值。同样,代理站点不仅可能会泄露您的内容,还会告诉您需要哪些数据才能提出正确的请求,以及哪些数据应该包含在这些请求中。

使用SWF文件可能感觉像是黑匣子,但您可以尝试使用showmycode.com或Elitma的Trillix Flash Decompiler反编译不同的SWF文件。请记住,ActionScript大多只是JavaScript。如果需要,可以将现有的AS放入JavaScript解析器中,以便复制其中一个SWF文件内发生的行为。屏幕刮板具有内置的能力。

如果您正在处理客户端(Flash电影)和服务器之间的交互通过AMF进行​​交互的站点,那么Charles是一个很好的选择,因为它具有内置的AMF解串器(一种罕见的东西) 。