2010-09-26 8 views
1

我正在用Flash写一个网站,用Python编写。我可以在Firebug中看到该页面加载其Flash文件,然后在.asmx文件中加载一些背景数据。Scraping Flash:访问后台文件,也许在机械化?

背景数据是我感兴趣的 - 所以如何才能获得.asmx文件?我已经知道它叫什么了。

我无法直接访问.asmx文件,但我可以使用机械手抓住它吗?

---更新----

我刮的页面是http://www.citroen.co.uk/new-cars/car-range/#/configurator/1C58AF/pop/pre-configuration/

.asmx文件是https://sfg-bpf.servicesgp.mpsa.com/uk/services/ServicePSAGF_Dealer.asmx - 我可以在Firebug查看。

回答

1

我可以使用机械抓住它吗?

我不这么认为。 .asmx扩展名表示您正在访问的资源是一种基于SOAP(基于SOAP)的.NET Web服务,用C#或VB.NET等语言编写。通常,.asmx代码将返回一个SOAP响应,可能由Flash应用程序解析。但是,如果没有更多细节,很难看到发生了什么 - 例如,.asmx请求是否是单独的Ajax请求。

更新:到Flash页面的链接现在不适用于我;它曾经工作过一次,随后的请求被重定向到an error page

链接到的.asmx页面仅显示Web服务的入口点;您必须使用适当的参数向特定的入口点发出请求以获取实际的XML数据(当然假设您已获得授权)。

+0

我在上面添加了链接。如果我可以获取.asmx文件中的底层XML,则可以提取我需要的数据。 – AP257 2010-09-26 18:26:51

+0

链接无关紧要;你也需要实际的post/get参数。尝试使用像Charles这样的代理来访问页面,因为它会告诉你实际的输出(Firebug也是这样做的,只需要深入查找文件加载信息的响应选项卡即可)。 – zeh 2010-09-27 18:58:59