[ jQuery]批次從網頁上下載多個檔案

目錄

    原始文章

    [ jQuery]批次從網頁上下載多個檔案


    原始文章

    [ jQuery ]從網頁上一次下載多個檔案


    政府開放資料平台上提供很多免費的內政資料,如
    現有公司登記家數-按縣市分
    如下圖,某些項目中把每月的檔案獨立上傳為一個csv檔,從2010年到2019年總共有一百多個。我像笨蛋一樣點了二十幾個後,突然想,難道沒有快一點的方法嗎?


    如下圖,某些項目中把每月的檔案獨立上傳為一個csv檔,從2010年到2019年總共有一百多個。我像笨蛋一樣點了二十幾個後,突然想,難道沒有快一點的方法嗎?


    查了一些資料後,發現我們可以用jQuery和Chrome的開發者工具(DevTools)來完成這件事。除了大量下載檔案外,如果你有很多選項要全部勾選,但又沒有「全選」按鈕時,不妨試試jQuery金手指,按下Enter後等著接受旁人崇拜的眼神。

    載入jQuery

    首先,先寫一行jQuery看看,這個目的是要測試jQuery是否能正常運作。

    $('html')

    DevTools回傳錯誤,所以我們再用Rob W大大提供的code重新載入jQuery,送出後會跳出對話視窗,確認是否要覆蓋。

    javascript:if(!window.jQuery||confirm('Overwrite\x20current\x20version?\x20v'+jQuery.fn.jquery))(function(d,s){s=d.createElement('script');s.src='https://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.js';(d.head||d.documentElement).appendChild(s)})(document);

    再次確認jQuery是否正常運作。

    觀察HTML結構

    我們觀察一下頁面中的HTML結構,發現每一個下載連結都有一個class叫ff-icon-csv。

    我們先用下面的程式測試第一個 ff-icon-csv 的連結是否能順利下載。

    var url = $('.ff-icon-csv:first').attr("href");
    window.open(url);

    成功後就可以加上each,下載全部的檔案。

    $('.ff-icon-csv').each(function(){
    	var url = $(this).attr("href");
    	window.open(url);	
    });

    彈出式視窗阻擋器

    執行上面的程式後,在網址欄的尾端應該會跳出訊息,因為目前的程式會開啟大量的視窗,所以會被彈出式視窗阻擋,只要設為允許即可。

    推薦文章

    在DataCamp學Python和R語言,快速入門資料科學



    推薦文章

    Aron

    搭載商業思維的資料科學家,工業設計系畢業,曾任職知名品牌行銷企劃。下班後寫機器學習模型,寫網站,也寫文章。興趣是把Side Project當成創業題目來玩,把人生當成遊戲破關。

    facebook telegram

    推薦書單

    沒了名片,你還剩下什麼?32個上班族增加自我籌碼的方法(暢銷新版)
    沒了名片,你還剩下什麼?32個上班族增加自我籌碼的方法(暢銷新版) ⭐⭐⭐⭐⭐
    大人學選擇:成熟大人的獨立思考術(暢銷增訂版)
    大人學選擇:成熟大人的獨立思考術(暢銷增訂版) ⭐⭐⭐⭐⭐
    突破同溫層的社群人脈學:把自己當作平台,建立有效人脈網
    突破同溫層的社群人脈學:把自己當作平台,建立有效人脈網 ⭐⭐⭐⭐
    理財盲點:有錢人不會做的13件理財決定
    理財盲點:有錢人不會做的13件理財決定 ⭐⭐⭐

    發佈留言

    • * 表示必填欄位
    • 您填寫的電子郵件不會被公開
    • 請確認您的電子郵件正確無誤,當您的留言收到新的回覆時,我們會寄送通知信件給您

    發佈留言必須填寫的電子郵件地址不會公開。