視頻網站線上播放清單如下圖所示:
查看原始碼:
<div class="fj1"><span>第1集</span><a href="/eschool/video/autohtml/310/261/0.shtml" target="_blank">1 C++簡介</a></div><div class="fj1"><span>第2集</span><a href="/eschool/video/autohtml/310/261/1.shtml" target="_blank">2 C++的發展過程</a></div><div class="fj1"><span>第3集</span><a href="/eschool/video/autohtml/310/261/2.shtml" target="_blank">3 C與C++的區別</a></div><div class="fj1"><span>第4集</span><a href="/eschool/video/autohtml/310/261/3.shtml" target="_blank">4 學習C++之前要先學C嗎?</a></div><div class="fj1"><span>第5集</span><a href="/eschool/video/autohtml/310/261/4.shtml" target="_blank">5 C++與其他語言的區別</a></div><div class="fj1"><span>第6集</span><a href="/eschool/video/autohtml/310/261/5.shtml" target="_blank">6 C++版本及安裝問題</a></div><div class="fj1"><span>第7集</span><a href="/eschool/video/autohtml/310/261/6.shtml" target="_blank">7 VS2005編譯器</a></div><div class="fj1"><span>第1集</span><a href="/eschool/video/autohtml/310/281/0.shtml" target="_blank">1 簡單的螢幕輸出小程式</a></div><div class="fj1"><span>第2集</span><a href="/eschool/video/autohtml/310/281/1.shtml" target="_blank">2 輸出語句的使用</a></div><div class="fj1"><span>第3集</span><a href="/eschool/video/autohtml/310/281/2.shtml" target="_blank">3 std::是什嗎?</a></div><div class="fj1"><span>第4集</span><a href="/eschool/video/autohtml/310/281/3.shtml"target="_blank">4iostream與iostream.h區別</a></div><div class="fj1"><span>第5集</span><a href="/eschool/video/autohtml/310/281/4.shtml" target="_blank">5 重名衝突</a></div><div class="fj1"><span>第6集</span><a href="/eschool/video/autohtml/310/281/5.shtml" target="_blank">6 注釋</a></div><div class="fj1"><span>第1集</span><a href="/eschool/video/autohtml/310/301/0.shtml" target="_blank">1 函數示範</a></div><div class="fj1"><span>第2集</span><a href="/eschool/video/autohtml/310/301/1.shtml" target="_blank">2 函數的傳參</a></div><div class="fj1"><span>第3集</span><a href="/eschool/video/autohtml/310/301/2.shtml"target="_blank">3函數的傳回值、參數與變數.swf</a></div><div class="fj1"><span>第4集</span><a href="/eschool/video/autohtml/310/301/3.shtml" target="_blank">4 函數的聲明與定義</a></div><div class="fj1"><span>第5集</span><a href="/eschool/video/autohtml/310/301/4.shtml" target="_blank">5 局部變數</a></div><div class="fj1"><span>第6集</span><a href="/eschool/video/autohtml/310/301/5.shtml" target="_blank">6 全域變數</a></div><div class="fj1"><span>第1集</span><a href="/eschool/video/autohtml/310/302/0.shtml" target="_blank">1 C++資料類型</a></div><div class="fj1"><span>第2集</span><a href="/eschool/video/autohtml/310/302/1.shtml" target="_blank">2 什麼是變數</a></div><div class="fj1"><span>第3集</span><a href="/eschool/video/autohtml/310/302/2.shtml" target="_blank">3變數及資料如何儲存在記憶體上</a></div><div class="fj1"><span>第4集</span><a href="/eschool/video/autohtml/310/302/3.shtml" target="_blank">4 布爾型</a></div><div class="fj1"><span>第5集</span><a href="/eschool/video/autohtml/310/302/4.shtml" target="_blank">5 字元型</a></div><div class="fj1"><span>第6集</span><a href="/eschool/video/autohtml/310/302/5.shtml" target="_blank">6 雙位元組型</a></div><div class="fj1"><span>第7集</span><a href="/eschool/video/autohtml/310/302/6.shtml" target="_blank">7 整型概述</a></div><div class="fj1"><span>第8集</span><a href="/eschool/video/autohtml/310/302/7.shtml" target="_blank">8 為什麼使用補碼</a></div><div class="fj1"><span>第9集</span><a href="/eschool/video/autohtml/310/302/8.shtml" target="_blank">9 整型變數的定義</a></div><div class="fj1"><span>第10集</span><a href="/eschool/video/autohtml/310/302/9.shtml" target="_blank">10 浮點型變數</a></div><div class="fj1"><span>第11集</span><a href="/eschool/video/autohtml/310/302/10.shtml" target="_blank">11 常量</a></div>
我們現在開始抓取網址:
curl http://www.enet.com.cn/eschool/video/autohtml/310/281/0.shtml | sed -n 's/"/n/gp' | grep ^/eschool/video/autohtml/ > down
結果如下:
然後我們將網址補齊:
sed 's///http://www.enet.com.cn//' down > downdown
最後我們調用shell指令碼
#!/bin/bash for line in `cat downdown` do curl $line | sed -n 's/"/n/gp' | grep ^http://images.enet.com.cn/eschool/c++/ >> download.txt done
最後抓取的下載地址如下: 現在你可以用迅雷進行批量下載了!