我正在使用Chickenfoot编写一个网络爬虫,并且需要保存PDF文件。我可以点击的链接页面上或抢PDF的网址,并使用用Chickenfoot保存PDF文件
go("http://www.whatever.com/file.pdf")
,我得到了Firefox的“打开file.pdf”对话框,但不能点击“确定”按钮保存实际文件。
我试过使用其他方式下载文件(wget,python的urllib2,斜纹),但PDF文件被门控,所以这些都不会工作。
任何帮助表示赞赏。
我正在使用Chickenfoot编写一个网络爬虫,并且需要保存PDF文件。我可以点击的链接页面上或抢PDF的网址,并使用用Chickenfoot保存PDF文件
go("http://www.whatever.com/file.pdf")
,我得到了Firefox的“打开file.pdf”对话框,但不能点击“确定”按钮保存实际文件。
我试过使用其他方式下载文件(wget,python的urllib2,斜纹),但PDF文件被门控,所以这些都不会工作。
任何帮助表示赞赏。
为了安全起见,您将无法单击Firefox对话框。 下载URL内容的最佳方式是阅读然后编写URL的内容。
// Chickenfoot 1.0.7 Javascript Code to download the content of a url.
include("fileio.js"); // enables the write function.
var url = "http://google.com",
saveFileTo = "c://chickenfoot-google.com";
write(saveFileTo, read(url));
你可能会发现它有助于使用jQuery与鸡脚。 http://groups.csail.mit.edu/uid/chickenfoot/scripts/index.php?title=Using_jQuery,_jQuery_UI_and_similar_libraries
这个关于如何在Mozilla开发者文档中保存目标的例子看起来应该像你想要的那样完成。我测试了一个非常相似的Chickenfoot示例,它可以获得临时环境变量,并且在Chickenfoot中适用于我。
https://developer.mozilla.org/en/XPCOM_Interface_Reference/nsIWebBrowserPersist#Example
您可能必须在工具,选项,应用程序与应用协会发挥,以确保操作设置为保存文件,但这些设置可能不适用于这些功能。
末回答,开始了相关牢骚......
我当然希望有人能修复奇肯富特的许多错误,并写一个很好的食谱节目指南。我已经使用了好几年了,还有很多基本的东西我都无法弄清楚如何去做。我终于打破了订阅邮件列表,因为档案有一些体面的脚本示例。它需要通过pdf参考,博客等进行大量搜索,因为Web API引用非常稀少。 我非常喜欢Chickenfoot可以让一些任务自动化,但是我需要花几天时间来搜索javascript,DOM和Firefox文档,以便找到办法做一些它不能做的事情,因为我不是一个真正的Web程序员。 Chickenfoot的目标似乎是我不应该这样做,但遗憾的是很少有人正在完善概念验证,因为麻省理工学院已经放弃了这个项目。
我试图用这几种方法使用Chickenfoot命令,并确认它们不能与最新的Firefox 3和Chickenfoot 1.0.7一起使用。
我希望这有助于!祝你好运。对不起,我昨天只是碰到你的问题,但发现它太有趣了,不能一个人留下。
这对我来说可以保存来自NCES门户的Excel文件。
http://muaz-khan.blogspot.com/2012/10/save-files-on-disk-using-javascript-or.html
我使用Firefox 3.0和代码的 “旧语法” 版本。我也剥离了用于IE的代码和“(window.URL || window.webkitURL).revokeObjectURL(save.href);”这产生了一个错误。
Larry,这似乎工作正常保存网页的来源,但似乎损坏PDF文件或任何其他二进制文件,我已经尝试过。我读了一些关于jQuery的内容,但还没有遇到这个问题的解决方案。 – alaiacano 2010-12-08 15:46:29