如何自动从网站下载XLS文件? 我的客户输入用户名和密码登录网站,然后我需要逐个下载XLS文件列表并将它们保存到一个路径中。文件链接在html表中。 需要你帮助的人
答案 0 :(得分:3)
您可以通过以下方式执行此操作...浏览器行为有所不同,但您可以为每个操作启动许多文件的下载。我认为这是您在浏览器中可能获得的最佳解决方案。
您可以创建一组临时的隐藏iframe,通过GET或POST在其中启动下载,等待下载开始和删除iframe:
<!DOCTYPE HTML>
<html>
<body>
<button id="download">Download</button>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<script type="text/javascript">
$('#download').click(function() {
download('http://nogin.info/cv.doc','http://nogin.info/cv.doc');
});
var download = function() {
for(var i=0; i<arguments.length; i++) {
var iframe = $('<iframe style="visibility: collapse;"></iframe>');
$('body').append(iframe);
var content = iframe[0].contentDocument;
var form = '<form action="' + arguments[i] + '" method="GET"></form>';
content.write(form);
$('form', content).submit();
setTimeout((function(iframe) {
return function() {
iframe.remove();
}
})(iframe), 2000);
}
}
</script>
</body>
</html>
答案 1 :(得分:0)
一种便宜而简单的方法是设置Web浏览器控件并使用它来登录。您现在拥有该站点的凭据。然后,使用一个按钮触发每个XLS文件的URI,使用相同的上下文打开,然后保存到驱动器。
您实际上可以隐藏用户的控件。
由于您似乎控制了网站,我还会考虑使用不同的方法来提供这些位,例如WCF服务。