Firebug 字幕檔案JSON地址擷取代碼_javascript技巧

來源:互聯網
上載者:User
先前看TED視頻,關於 學校教育扼殺創造性的視頻。
視頻很好,也有中文字幕等。下面也提供高清版本下載,很是欣喜。
遺憾的是,字幕不提供下載。(或者說我沒有找到)

俗話說,自己動手豐衣足食。直接拿Firebug找到字幕檔案地址,下載下來看到是JSON格式的,隨即想到直接用JS輸出字串就可以轉換到srt字幕。
代碼如下,非常簡單的代碼,實用就好,不求效率、安全和邊界問題,只求最快解決我的問題~

不得不說,學一門程式設計語言很有意義,不論是什麼,都能很方便解決一些實際的問題。這很開心。
JS仔細說來是一門很強大的語言,處理JSON和XML都很方便,大多數時候應付足夠了。不過也會有力不從心的時候,尤其是對於系統的操作,總有很多缺陷。不過如果算上微軟的JScript的話,也很可以了。曾經想學Python,現在也坦然了,隨便用什麼,喜歡就好。或許,這與我不再從事IT相關行業有關吧。夠用就行咯~
複製代碼 代碼如下:

//讀取chi_hans檔案
$.getJSON("chi_hans",function(json) {
var c=json.captions,o=[];
for (var i=0,l=c.length; i<l; i++) {
o.push(i+1);
//這裡的18500是時間位移
o.push(timeline(c[i].startTime+18500)+" --> "
+timeline(c[i].startTime+c[i].duration+18500));
o.push(c[i].content);
o.push("");
//if (i==5) break;
}
//這裡我輸出到一個textarea
$("#output").text(o.join("\r"));
});
//這是根據JSON裡時間得到srt字幕裡的時間
function timeline(time) {
t=new Date(time);
return [
leadZero(t.getUTCHours()),
leadZero(t.getUTCMinutes()),
leadZero(t.getUTCSeconds())
].join(":")+","+leadZero3(t.getUTCMilliseconds());
}
//加入前置字元為零
function leadZero(s) {
if (s<10) {
return "0"+s;
}else {
return s;
}
}
//這也是前置字元為零,三位元的
function leadZero3(s) {
var ret;
if (s<10) {
ret="00"+s;
}else if (s<100) {
ret= "0"+s;
}else {
ret=s;
}
return ret;
}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.