大家好我想从ipaper的swf链接下载文件
请指导我如何下载这本书 这是我要转换为pdf或word并保存的书的链接 http://en-gage.kaplan.co.uk/LMS/content/live_content_v2/acca/exam_kits/2014-15/p6_fa2014/iPaper.swf 在这方面你的善意指导将不胜感激。 问候, Muneeb
答案 0 :(得分:0)
首先您在浏览器中使用网络捕获(在开发人员工具中)打开图书。 你应该在不同的位置打开很多页面,有或没有缩放 然后查看捕获的数据 您将看到,对于您打开的每个新页面,浏览器会要求提供新文件(或多个文件) 这意味着每个页面都有一个文件,并且您的浏览器正在使用该文件创建页面图像。 (通常页面有一个文件,它是某种格式的图片,但我遇到了base64编码的图片和一张切成四片的图片。)
因此我们要下载并保存包含图书页面的所有文件 现在,通常对文件的地址有一致的模式,并且其中有一些递增的数字(我们可以在捕获的数据中看到以下文件之间的差异),并且知道我们可以猜到的书中的页数我们自己剩下的地址直到书的结尾(当然还是以编程方式在for循环中下载所有文件) 并且我们可以在这里停止。
但有时地址有点难以猜测,或者我们希望过程更加自动化。
无论如何,我们希望以编程方式获取页面的数量和页面的所有地址。
所以我们必须检查浏览器是如何知道的。通常,浏览器会在开头下载一些文件,其中一个文件包含书中的页数(可能还有它们的地址)。我们只需要检查捕获的数据并找到该文件以在我们的程序中解析它。
最后存在安全问题:
某些网站尝试以某种方式保护其数据(通常使用Cookie或http身份验证)。但如果您的浏览器可以访问数据,您只需跟踪它的工作方式并模仿它
(如果是cookie,服务器会在某个时候使用Set-Cookie:
标题进行响应。可能是您必须登录才能查看该书,因此您还必须跟踪此过程。通常它是通过发布消息和Cookie。如果是http身份验证,您会在请求标头中看到类似Authorization: Basic
的内容。)
答案很简单:
(所有文件名都相对于主文件目录:" http://en-gage.kaplan.co.uk/LMS/content/live_content_v2/acca/exam_kits/2014-15/p6_fa2014/")
有一个" manifest.zip"包含" pages.xml"的文件包含文件数量和链接的文件。我们可以看到,每个页面都有一个拇指,一个小图片和一个大图片,所以我们只想要大图片
你只需要一个循环这些地址的程序(从Paper / Pages / 491287 / Zoom.jpg到Paper / Pages / 491968 / Zoom.jpg)。
最后,您可以将所有jpg' s合并为pdf。