抓取Flash:如何在Mechanize中访问后台文件?
我正在用Python抓取一个Flash网站。在Firebug中,我可以看到页面加载了它的Flash文件,然后又加载了一些在.asmx文件中的后台数据。
我对这些后台数据很感兴趣,所以我想知道怎么才能获取这个.asmx文件。我已经知道它的名字了。
我不能直接访问这个.asmx文件,但我能用Mechanize来抓取它吗?
--- 更新 ----
我正在抓取的页面是 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 个回答
1
我可以用Mechanize来抓取它吗?
我觉得不行。因为 .asmx 这个后缀说明你访问的资源是一个基于SOAP的.NET网络服务,通常是用C#或VB.NET这样的语言写的。一般来说,.asmx代码会返回一个SOAP响应,可能是给Flash应用程序解析的。不过,要搞清楚具体情况还需要更多的信息,比如说这个 .asmx 请求是否是一个单独的Ajax请求。
更新:我现在打不开那个Flash页面;之前能打开,但后来的请求都被重定向到一个错误页面。
你链接的 .asmx 页面只是显示了这个网络服务的入口点;你需要向一个特定的入口点发送请求,并带上合适的参数,才能获取实际的XML数据(当然,前提是你有权限)。