Text 是否可以通过编程方式从swf(flash应用程序)中提取动态文本?

Text 是否可以通过编程方式从swf(flash应用程序)中提取动态文本?,text,flash,extract,Text,Flash,Extract,是否可以通过编程方式从swf(flash应用程序)中提取动态加载的文本?我想到一件事 如果加载swf,则可以在INIT处理程序中访问其子项,因此可以使用递归函数自动循环遍历所有子项,并获取所有文本字段(动态文本)的子项,因为statis text是textsnashot 下面是一个简单的实现: var textFields:Array = []; function getTextFields(container:DisplayObjectContainer,dumpArray:Array):vo

是否可以通过编程方式从swf(flash应用程序)中提取动态加载的文本?

我想到一件事

如果加载swf,则可以在INIT处理程序中访问其子项,因此可以使用递归函数自动循环遍历所有子项,并获取所有文本字段(动态文本)的子项,因为statis text是textsnashot

下面是一个简单的实现:

var textFields:Array = [];
function getTextFields(container:DisplayObjectContainer,dumpArray:Array):void{
    for(var i:int = 0 ; i < container.numChildren ; i++){
        if(container.getChildAt(i) is TextField) dumpArray.push(container.getChildAt(i));
        if(container.getChildAt(i) is DisplayObjectContainer) getTextFields(DisplayObjectContainer(container.getChildAt(i)),dumpArray);
    }
}
//getTextFields(this,textFields);
var textFields:Array=[];
函数getTextFields(容器:DisplayObjectContainer,dumpArray:Array):void{
for(变量i:int=0;i

听起来像是某种爬虫。你有什么想法?

是的,这就是我需要做的,我在很多SWF(来自多个网站)中为文本编制索引,但我无法通过编程提取动态文本,我可以找到几个工具(我想我是从swftools下载的)来提取静态文本,但动态。。。我仍然没有一点线索…但是有一个陷阱。你将在设置后在这些字段中获得文本。如果基本swf文件中的and intro和about部分使用了相同的文本字段,那么您可能只会得到intro,因为没有人调度事件来触发所有内容。您可能需要编写某种类型的机器人,执行虚拟点击并输入到任何可以在swf中接收到的东西,而且速度很快。我想这就是谷歌为主权财富基金编制索引的方式,但是他们有专门版本的flash播放器,就像是一个虚拟的自动驾驶仪版本的播放器。你能分享更多关于如何处理数据的想法吗?我已经用JRuby编写了一个后端系统(几乎全部),我正在索引各种各样的东西,从html文档到图像中的文本,我还尝试索引swf对象。我面临的最大问题是我对Flash或Actionscript一无所知,所以我不知道从哪里开始(不打算编写Flash电影播放器=))难道没有一个开源版本的播放器可以轻松改编吗?嗯,我想你会遇到另外一个问题:安全策略文件(crossdomain.xml)。如果您在siteA上有一个swf,并且您从siteB加载和访问其中一个swf的内容,siteB将需要一个安全策略文件来允许您这样做,否则您在尝试访问siteB的swf的内容时将出现安全错误。Adobe和Google合作完成了这个播放器,所以我怀疑它是开源的。现在我想知道你是否可以使用谷歌的搜索API和“借用”数据,包括主权财富基金。不知道缓存谷歌搜索结果的政策是什么。