抓取Flash:如何在Mechanize中访问后台文件?

1 投票
1 回答
1314 浏览
提问于 2025-04-16 04:37

我正在用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数据(当然,前提是你有权限)。

撰写回答