內容轉載自我的博客
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);