我想抓一个网站以编程方式收集页面上任何flash元素中的任何外部链接。如果可能的话,我也想收集任何其他文本,但链接是重要的部分。这可能吗?完成此任务的免费软件库/服务将是更可取的,但如果没有,我如何自己完成任务?是否有可能获得源代码并从中获取?
答案 0 :(得分:10)
通过反编译Flash源,您可以看到Flash文件的ActionScript部分,我发现它通常包含链接等信息。
免费反编译器是Flare。它只是命令行,并且工作正常。它不会解码较新Flash格式的某些信息(我认为> CS3)。它将所有AS转储到一个文件中。
Sothink SWF Decompiler是一个更复杂的商业计划。它可以正常使用我尝试过的任何Flash文件,结果非常彻底,组织得很好。它是基于GUI的,我不知道它是否很容易自动化。
使用Flare,因为它是一个命令行工具,人们可以轻松编写脚本来获取SWF,反编译它,grep为'http://',然后记录结果。
答案 1 :(得分:3)
闪存中的“外部链接”可以很简单,例如:
curl -s http://hostname/path/to/file.swf | strings | grep http
当然,如果作者试图隐藏URL,这将失败。
YMMV很多。祝你好运!
答案 2 :(得分:1)
作为非常粗糙的第一步,您可以使用Google从swf中获取文本片段,因为swf已被Google编入索引并且您知道它的URL。 e.g:
http://www.google.com/search?q=site%3Awww.michaelgraves.com%2Fmga.swf