MyBlogLog Cache 0.1 半手工版



花了點時間, 弄了個 MyBlogLog 的 cache, 測了一天, 看來還可以, 當然還有很大的改善空間. 其實我對 perl 不熟, 所以程式的完整性應該是不怎麼樣 ... 不過至少已經可以 work 了 ^_^

稱為半手工版的原因是, 因為很多東西還是得手工處理, 請原諒這個星期天還得加班的師程工, 最近沒有很多時間玩這些.

環境需求:

  • Perl, 版本需求不知, 我是用 5.8.8
  • wget, 版本需求不知, 我是用 1.10.2
  • UNIX: 我是在 Linux 上寫的, 搬到別的系統的話不知道會怎樣, 目前還沒測試過

安裝步驟 (for Perl 程式):

  1. 下載 mybloglog.pl 並存放到某個目錄.
  2. 修改 mybloglog.pl, 有 5 個變數要指定:

    * 指定 $cache_dir: 這個目錄是用來存放 download 下來的 avatar 以及產生的 mybloglog.php 的目錄. 請指定一個從根目錄開始的絕對路徑.
    * 指定 $www_dir: 這個目錄是在 web server 上要存取 $cache_dir 的路徑, 請指定一個從 Apache 的 DocumentRoot 開始的相對目錄路徑.
    * 指定 $mblID: 這個是你在 MyBlogLog 上的 ID, 長得類似 2007022422374540.
    * 指定 $www_dir: 這個目錄是在 web server 上要存取 $cache_dir 的路徑.
    * 指定 $c_rows: 這個是 avatar 的個數, 最大是 10, 目前會少一個, 請看後面已知問題

  3. 設定 cronjob 自動執行該 perl 程式

安裝步驟 (for Blog 系統):

  1. 修改 theme, 第一行請自行修改路徑, 重點就是要把上面 perl 產生的 mybloglog.php 給 include 進來. 第二行則是 MyBlogLog 提供的 track 程式碼.
    <?php include("/....../mybloglog.php"); ?>
    <script type='text/javascript' src='http://track3.mybloglog.com/js/jsserv.php?mblID=2007************'>
    </script>

已知問題:

  • 因為沒有 cookie 的關係, 抓到的 avatar 會少一個. 目前我是直接在程式裡跳過第一個抓到的 avatar. wget 可以帶 cookie, 會在後續版本加上去.
  • 抓下來的圖檔不會刪除, 因此會愈放愈多 (其實我在 63,64 行有放 rm 指令, 只是怕出問題刪錯了, 所以 remark 起來, 需要的可以自己打開)
  • Hide 的功能目前沒有實做, 目前也沒有計畫做 (因為還沒有概念怎麼弄那個 javascript)
  • 我是在 Linux 平台上測試, 沒有在 Windows 上測過, 不確定會有什麼問題, 目前想到的是, /tmp 在 windows 上不能用吧.
  • ...... 應該還有很多我沒注意到的問題吧 ......

Demo:
請看本頁右下角的 MyBlogLog

下載:
Please click here to download MyBlogLog Cache 0.1
[download#2#image#nohits]

其他:

  • 除了 CoolCode 外, 有沒有別的好用的, 可以用來顯示 source code 的 plugin ? 因為發現程式碼太長在 IE6 會亂掉.
  • 不知道 Perl 有沒有內建類似 wget 的 package? 如果有的話, 就不用呼叫 wget 了
  • Perl 該如何檢查檔案是否已經存在, 如果有的話, 若檔案已經存在, 就可以不用重複 download 了. (當然, 還是得定期重抓, 免得沒更新到)
  • 在 Perl 裡面, 路徑的處理, 對於 UNIX 和 Winodws 是否有不同?


Comments

[部落格加速]

[部落格加速] 優化MyBlogLog 最新進度 - 0.2版釋出...

丹尼老大在今天發表了 MyBlogLog Cache 0.2
這次的更新版本讓使用上的便利性提高了&#24.....