瀏覽器中使用JavaScript自動批量下載文件


內容轉載自我的博客

1. 目標網站

本代碼是專門為了下載中國地球物理學科中心WDC for Geophysics的數據而編寫的,也只能運行在此網站的控制台窗口。實現的功能是替代用戶手動點擊,很多數據動輒就是一年共三百多個文件,手動點擊費時費力。本代碼不對服務器造成任何破壞,僅將點擊操作換成自動,且下載時間間隔為5秒

2. 編寫代碼

此網站的數據如果需要下載,必須注冊並登錄賬號
本代碼假定已經登錄賬號的情況下,假定用戶下載的數據為此網頁

body = document.getElementById("NewsBody");
center = body.getElementsByTagName("center")[0];
elements = center.children;
// 當前下載的文件是第幾個
var index = 0;
// 數據文件總個數
var count = 0;
// 下載間隔時間,單位毫秒
var sleep_interval = 5000;
// 睡眠時間
var sleep_time = 0;

// 定時器的回調函數
function download(index){
    e = elements[index];
    if(e.href){
        e.setAttribute("download",e.innerText.trim());
        sleep_time = sleep_interval;
        e.click();
        count = count + 1;
        console.log("下載文件: " + e.innerText);
    }else{
        sleep_time = 1;
    }
    index = index + 1;
    if(index<elements.length){
        setTimeout(download, sleep_time, index);
    }else{
        console.log("網頁包含文件總個數: "+count);
    }
}

// 啟動下載
setTimeout(download, 1, 0);


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM