剛剛突然想到,之前Blogtrans有改一些code,但一直沒放出來。看了一下git log....2009/05/26(汗)。
順手打包了一下,上傳到sourceforce,雖然code是一年多前寫的(汗)
* 增加Blogger匯入功能
* 處理一些無名XML不是well-form的狀態,或者是出現UTF-8不合法的字元
* 增加UnitTest,順便修正了一些minor problem....
新版的程式一樣可以在Sourceforce抓到
我的網誌已搬家至blog.miaout17.net,本網誌將不再更新
2010年8月15日 星期日
2009年7月28日 星期二
2009年5月30日 星期六
在Linux/Mac作業系統上運行Blogtrans
這篇文章說明如何在其他作業系統上運行Blogtrans。
目前Blogtrans只固定製作Windows版的執行檔。在其他平台上運行Blogtrans可能麻煩一些,以下也假設讀者對於這些作業系統的操作有一定的認知。
筆者無法允諾有空一一回復相關問題。筆者並非微軟教徒,但考慮Windows使用人數眾多,Blogtrans在Windows上應該算是經過相當的測試。如果使用上還是有問題,借個有灌Windows的電腦來用似乎是最穩定的選擇。
如果有人要幫忙做Linux和Mac的Build我也是很樂意啦....
環境設定
目前Blogtrans只相依於兩個東西:
(舊版本曾經用過gdata,現在的Blogger Atom XML是硬寫出來的)
以ubuntu (debain) 為例:
sudo apt-get install python
sudo apt-get install python-wxaddons
我手邊沒有Mac (之前有Mac桌機但賣掉了) , 不過Mac印像中也是內建Python2.5,應該灌個wxPython-unicode就OK吧......
執行Blogtrans
然後去Github的Blogtrans頁面抓取程式源始碼,目前穩定的程式碼都放在master branch。如果會使用git的話可以用git抓,否則直接抓tarball下來解壓縮也可以。
之後進到shell,切換到blogtrans目錄,執行python blogtrans.py即可。
在Ubuntu上運行Blogtrans的截圖:

目前Blogtrans只固定製作Windows版的執行檔。在其他平台上運行Blogtrans可能麻煩一些,以下也假設讀者對於這些作業系統的操作有一定的認知。
筆者無法允諾有空一一回復相關問題。筆者並非微軟教徒,但考慮Windows使用人數眾多,Blogtrans在Windows上應該算是經過相當的測試。如果使用上還是有問題,借個有灌Windows的電腦來用似乎是最穩定的選擇。
如果有人要幫忙做Linux和Mac的Build我也是很樂意啦....
環境設定
目前Blogtrans只相依於兩個東西:
(舊版本曾經用過gdata,現在的Blogger Atom XML是硬寫出來的)
以ubuntu (debain) 為例:
sudo apt-get install python
sudo apt-get install python-wxaddons
我手邊沒有Mac (之前有Mac桌機但賣掉了) , 不過Mac印像中也是內建Python2.5,應該灌個wxPython-unicode就OK吧......
執行Blogtrans
然後去Github的Blogtrans頁面抓取程式源始碼,目前穩定的程式碼都放在master branch。如果會使用git的話可以用git抓,否則直接抓tarball下來解壓縮也可以。
之後進到shell,切換到blogtrans目錄,執行python blogtrans.py即可。
在Ubuntu上運行Blogtrans的截圖:
2009年5月22日 星期五
Blogtrans 更新 090522
今天赫然發現一件事,在上次的更新中我以為已經修正無名文章日期的問題了。結果發現修改的程式忘記commit,上次壓出來的版本日期還是有問題的。所以今天又壓了一個版本,只更新了無名日期這件事。
離無名關閉備份只剩四天。
有需要者請至Sourceforge抓取最新版本。
離無名關閉備份只剩四天。
有需要者請至Sourceforge抓取最新版本。
2009年5月11日 星期一
Blogtrans雜記
先聲明,筆者跟無名沒啥深仇大恨,也不在Web界工作。更不是其他BSP的打手,我與任何BSP沒有利益關係。
Blogtrans專案的起源是幫朋友(終於變成女友XD)搬Blog寫的一個console小程式,後來閒暇時補上UI放出來給想搬家的人使用。這也是我剛第一個嘗試用Python寫的中小型應用程式 (所以程式架構很亂,有人要trace的話別笑我 Orz)。
維護這隻程式算是吃力不討好的工作。無名的規格問題層出不窮:在XML檔案後面添加HTML碼的做法是一大經典,而且這是推出備份服務的後來才加上去的,我懷疑這是刻意讓企圖讀取無名備份檔的程式無法運作。另外在XML檔中可以出現不合法的XML字元,還有現在的備份檔不完全問題。 (Well, 我必需承認無名匯出檔根本是封閉格式,或許該慶幸他沒有用亂七八糟的binary format再加個密?) 另外也有些MT匯出檔的格式不依標準 。最麻煩的是上傳到Blogger,我花了許多時間在測試上傳Blogger備份檔上。
話說回來,無名從以前到現在的做法著實另人惱火,我相當不相信「關閉備份是為了專注在其他更好的服務」。
筆者在思考是不是該在無名關畢備份服務後,再寫另一個轉出無名的功能。要達到私密文章備份,這次可能就要靠HTTP認證,再從前台或後台撈HTML出來了。跟之前的作法比,可能這樣的做法更為麻煩。只要站方稍稍變動規格,撈文章的parser就可能失效。
我另一方面也希望國內其他BSP可以繼續做到這樣的功能 (撇開轉出Blogger部份不提的話,pixnet一直提供了比Blogtrans更穩定的轉出無名功能)。畢竟跟商業(又有幾位程設能力超強大神在)的BSP比,筆者一人利用空閒時間的力量是相當有限的。
Blogtrans專案的起源是幫朋友(終於變成女友XD)搬Blog寫的一個console小程式,後來閒暇時補上UI放出來給想搬家的人使用。這也是我剛第一個嘗試用Python寫的中小型應用程式 (所以程式架構很亂,有人要trace的話別笑我 Orz)。
維護這隻程式算是吃力不討好的工作。無名的規格問題層出不窮:在XML檔案後面添加HTML碼的做法是一大經典,而且這是推出備份服務的後來才加上去的,我懷疑這是刻意讓企圖讀取無名備份檔的程式無法運作。另外在XML檔中可以出現不合法的XML字元,還有現在的備份檔不完全問題。 (Well, 我必需承認無名匯出檔根本是封閉格式,或許該慶幸他沒有用亂七八糟的binary format再加個密?) 另外也有些MT匯出檔的格式不依標準 。最麻煩的是上傳到Blogger,我花了許多時間在測試上傳Blogger備份檔上。
話說回來,無名從以前到現在的做法著實另人惱火,我相當不相信「關閉備份是為了專注在其他更好的服務」。
筆者在思考是不是該在無名關畢備份服務後,再寫另一個轉出無名的功能。要達到私密文章備份,這次可能就要靠HTTP認證,再從前台或後台撈HTML出來了。跟之前的作法比,可能這樣的做法更為麻煩。只要站方稍稍變動規格,撈文章的parser就可能失效。
我另一方面也希望國內其他BSP可以繼續做到這樣的功能 (撇開轉出Blogger部份不提的話,pixnet一直提供了比Blogtrans更穩定的轉出無名功能)。畢竟跟商業(又有幾位程設能力超強大神在)的BSP比,筆者一人利用空閒時間的力量是相當有限的。
2009年5月10日 星期日
無名小站備份檔問題
按,我家樓下常有外國人在開轟趴,半夜一點多大聲說話,吵到我關著窗子都聽的到。剛快睡著結果被吵起來寫blog,考慮下次再被吵要不要去暱名檢舉了....
言歸正傳,昨天收到一位網友來信,說Blogtrans無法匯入他的備份檔。他的網誌有九百多篇文章,但是從無名試著匯出好幾次備份檔,使用Blogtrans匯入時都不成功。使用Notepad++打開他的備份檔,檢視檔案尾端,大鳥眉頭一皺,發現案情並不單純 (對不起我老梗了):

因為沒有取得轉錄同意,雖然原文是公開的,應該在合理引用的範圍,我還是把文字消音了。
注意紅框的地方,一個E9的特殊字元中斷了備份檔。我試著手動修復備份檔,發現無名只匯出了七百多篇文章,留言全都不見了。
假設不是該網友在下載的過程中遇到特殊問題,那就是無名的備份功能真的有Bug,導致匯出時闕漏了文章和留言。
該位網友去信無名,客服的回應為
或許無名是對的:關閉服務是因為他們沒有能力維護。
你還放心住在無名嗎?

(對不起我又老梗了)
言歸正傳,昨天收到一位網友來信,說Blogtrans無法匯入他的備份檔。他的網誌有九百多篇文章,但是從無名試著匯出好幾次備份檔,使用Blogtrans匯入時都不成功。使用Notepad++打開他的備份檔,檢視檔案尾端,大鳥眉頭一皺,發現案情並不單純 (對不起我老梗了):
因為沒有取得轉錄同意,雖然原文是公開的,應該在合理引用的範圍,我還是把文字消音了。
注意紅框的地方,一個E9的特殊字元中斷了備份檔。我試著手動修復備份檔,發現無名只匯出了七百多篇文章,留言全都不見了。
假設不是該網友在下載的過程中遇到特殊問題,那就是無名的備份功能真的有Bug,導致匯出時闕漏了文章和留言。
該位網友去信無名,客服的回應為
會幫他調整Blog,請他清除網路暫存檔試試看(顯然沒用?)
或許無名是對的:關閉服務是因為他們沒有能力維護。
你還放心住在無名嗎?
(對不起我又老梗了)
2009年5月3日 星期日
Blogtrans版本更新:090503
遵守之前的承諾,在這個週末放出Blogtrans更新。這次的更新主要是針對這些問題:
- 匯入無名小站時,文章時間是最後修改時間,而非發佈時間
已修正 - 無名小站無法匯入的一些問題
主要問題是當文章中有不合法的XML字元時,無名仍會將這些字元匯出到XML檔中。
已解決 - 簡體中文電腦無法使用Blogtrans的問題
- 原本程式中有些地方很蠢的將字串先以CP950轉成Unicode,在簡體中文電腦就會產生錯誤,我全部改成Unicode了。
- 看到MT檔中,日期欄位是「DATE: 07/11/2004 07:39:17 下午」,出現中文字當然與MT規格不符,暴力的replace /上午/AM/ /下午/PM/
已解決 - 匯出至Blogger留言會不見的問題
這個問題我懷疑是Blogger自己的問題,之前匯出留言到Blogger是沒有問題的。我做了這樣的實驗:從Blogger官方匯出有留言的文章,再匯入回去,留言竟然也有機率會不見。
暫時提供一個比較暴力的解決方法:將所有留言合併到文章內文之中。
選擇這個選項之後,所有留言會被合併到文章之中,當作文章的一部份處理。這樣做的壞處是留言會被視為文章的一部份,而無法在側邊欄中顯示。
這個問題若是持續存在,我會在有空時做詳細的測試再回報給Blogger。
目前無法完全解決,提供克難的替代方案。
090504更新:感謝Asher網友,將留言選項調成「任何人都可以留言」似乎就沒問題了。我還沒時間做詳細的測試,暫時先告知使用者有這個方法可以嘗試。
目前最新版的是Build-090503,一樣請至sourceforge下載。有問題請回報,祝大家成功逃離丁丁星球。
2009年4月30日 星期四
Blogtrans已知問題
似乎因為無名又做了微妙的決定,最近想要搬Blog的人又變多了,我收到不少Blogtrans有關的Bug。
Blogtrans現在有一些已知的問題:
(背景音樂:不用麻煩了,不用麻煩了,阿宅很忙的),應該會趁這周末的時間(5/1~5/3)修正這些問題。如果E-mail給我沒有回音,可以下周一後再過來看看有沒有更新。
Blogtrans現在有一些已知的問題:
- 匯入無名備份檔時可能會卡住 (應該是無名匯出格式不知道偷偷做了什麼變動)
- 匯出至Blogger時留言會不見 (這個以前可以的,應該是Blogger改了讀備份檔的機制)
- 無法正常處理簡體中文
2008年9月12日 星期五
Blogtrans版本更新 (Rev15)
經過一些測試,目前無名轉Blogger、MT(Pixnet)轉Blogger這兩個功能應該接近穩定了,目前最高記錄是成功匯出839篇文章和1021則留言到Blogger。現在最新版本是Rev15,已經可以在Sourceforge下載。
列一下修掉的Bug:
目前最高記錄是成功匯出839篇文章和1021則留言到Blogger。
我會將一些說明慢慢放到靜態頁面:Blogtrans首頁,遇到問題也歡迎回報。
Update:
跟據網友Pigy的回報,Rev16版修正了留言者的網址都會變成http://www.blogger.com/profile/1的問題。
列一下修掉的Bug:
- Blogger的文章標籤中不允許某些特殊字元:!,&,<,>,@。 (不知道有沒有漏掉)
如果匯入Blogger的XML檔,文章分類包函這些字元的話,就會發生可怕的靈異事件。系統會顯示你已經成功的匯入所有文章,而且你也會看到成功匯入成功。
我目前是在程式中把這些特殊字元去掉。如果你在意標籤的話,也可以自行用文字編輯軟體,先將有問題的標籤全部取代成你想要的文字。 - MT格式匯入時,日期仍然有Bug,簡單的修正了。
- Blogger匯出時,之前會把作者印在除錯用的文字界面中。這時如果有不能轉成Big5的Unicode文字,可能會造程匯出失敗。算是個愚蠢的Bug,已修正。
- 無名小站的XML格式,最近在檔案尾端加上了一些莫名奇妙的東西,而不符合標準XML規格,造成XML解析失敗。目前也已修正。
目前最高記錄是成功匯出839篇文章和1021則留言到Blogger。
我會將一些說明慢慢放到靜態頁面:Blogtrans首頁,遇到問題也歡迎回報。
Update:
跟據網友Pigy的回報,Rev16版修正了留言者的網址都會變成http://www.blogger.com/profile/1的問題。
2008年9月11日 星期四
Pixnet搬家到Blogger也可以囉
經網友電子羊反應,從Pixnet匯出的MT檔無法正確的匯入Blogtrans。我發現這個應是日期格式的小問題,目前已經修正了。
至此下載Blogtrans最新版 (目前是Rev13) 。
從Pinxnet匯出MT檔的步驟:進入Pixnet後台 => 點選左側的匯入/匯出備份 => 匯出備份檔 => 點選MT格式備份檔 => 下載備份檔
再參考上一篇的教學,匯入MT格式檔,匯出成Blogger檔案,至draft.blogger網站匯入即可。
我目前測試Pixnet轉Blogger是成功的,只是過去發生過一些奇怪的中文衝碼問題,不知道還會不會發生。如果還有問題的話,請留言通知我。
再一次說明,本軟體不保證完全運行正確,請自行小心進行您的Blog資料備份。
祝搬家愉快 :)
至此下載Blogtrans最新版 (目前是Rev13) 。
從Pinxnet匯出MT檔的步驟:進入Pixnet後台 => 點選左側的匯入/匯出備份 => 匯出備份檔 => 點選MT格式備份檔 => 下載備份檔
再參考上一篇的教學,匯入MT格式檔,匯出成Blogger檔案,至draft.blogger網站匯入即可。
我目前測試Pixnet轉Blogger是成功的,只是過去發生過一些奇怪的中文衝碼問題,不知道還會不會發生。如果還有問題的話,請留言通知我。
再一次說明,本軟體不保證完全運行正確,請自行小心進行您的Blog資料備份。
祝搬家愉快 :)
最方便的無名搬家到Blogger方式 (可搬留言,無一天五十篇限制)
喵的失眠才有這些程式進度....語無輪次的長話短說一下....
很久很久以前,因為無名小站太丁丁,導致很多鄉民都想要從無名小站逃離出來。gslin大神製作的無名匯出工具+xdite大神協助架設的Blogger匯入工具 ,應該是最有名的搬家方案,造福了許多鄉民們。但這套工具卻有兩大限制:不能夠搬留言、一天只能匯入五十篇
Blogtrans是我一年前左右開發的一個Blog搬家工具,主要功能就是從無名小站搬家到Blogger,過去的開發記錄在我舊的Blog中。其實Blogtrans目前可以做到:
其實這個方法我幾個月前就找到了,只是一直懶得實做出來,直到今天失眠才花半夜的時間把他做完。
長話短說的搬家教學
登入無名Blog,進入網誌管理,翻到最下面,點選「下載網誌備份檔案」

把這個檔案存起來。
先升請好一個Blogger帳號,開好一個新的Blog。
去Sourceforge下載最新版的Blogtrans (目前是Rev12),解壓開來後,執行Blogtrans.exe。

點選匯入無名XML檔案,開啟你剛剛在無名下載的網誌備份檔案。

畫面左邊會出現文章列表,點選後右邊會出現簡單的文章預覽。

列表中有箭頭的話,可以點選展開,可以看到留言列表,點擊後右邊可以預覽留言。每個選項左邊的核取方塊可以勾選,以決定你等一下要不要把這篇文章/留言匯出。

點選匯出 => Blogger…

把Blogger格式的匯出檔案存起來。然後登入 http://draft.blogger.com/ 這是Blogger的實驗性質站台,具有匯入匯出的功能。

點選匯入網誌

選擇剛剛用Blogtrans匯出的檔案,建議勾選自動發佈所有匯出的文章。

稍待一下就可以看到匯入完成了,共有167篇文章和572則留言,突破Blogger每天50篇的限制!分類標籤、文章時間、留言時間都是正確的喔。夠簡單吧。
註:
有那麼完整易用的搬家方案,你還在等什麼?
很久很久以前,因為無名小站太丁丁,導致很多鄉民都想要從無名小站逃離出來。gslin大神製作的無名匯出工具+xdite大神協助架設的Blogger匯入工具 ,應該是最有名的搬家方案,造福了許多鄉民們。但這套工具卻有兩大限制:不能夠搬留言、一天只能匯入五十篇
Blogtrans是我一年前左右開發的一個Blog搬家工具,主要功能就是從無名小站搬家到Blogger,過去的開發記錄在我舊的Blog中。其實Blogtrans目前可以做到:
- 匯入無名XML
- 匯入MT格式
- 匯出MT格式
- 匯出Blogger Atom XML
其實這個方法我幾個月前就找到了,只是一直懶得實做出來,直到今天失眠才花半夜的時間把他做完。
長話短說的搬家教學
登入無名Blog,進入網誌管理,翻到最下面,點選「下載網誌備份檔案」
把這個檔案存起來。
先升請好一個Blogger帳號,開好一個新的Blog。
去Sourceforge下載最新版的Blogtrans (目前是Rev12),解壓開來後,執行Blogtrans.exe。
點選匯入無名XML檔案,開啟你剛剛在無名下載的網誌備份檔案。
畫面左邊會出現文章列表,點選後右邊會出現簡單的文章預覽。
列表中有箭頭的話,可以點選展開,可以看到留言列表,點擊後右邊可以預覽留言。每個選項左邊的核取方塊可以勾選,以決定你等一下要不要把這篇文章/留言匯出。
點選匯出 => Blogger…
把Blogger格式的匯出檔案存起來。然後登入 http://draft.blogger.com/ 這是Blogger的實驗性質站台,具有匯入匯出的功能。
點選匯入網誌
選擇剛剛用Blogtrans匯出的檔案,建議勾選自動發佈所有匯出的文章。
稍待一下就可以看到匯入完成了,共有167篇文章和572則留言,突破Blogger每天50篇的限制!分類標籤、文章時間、留言時間都是正確的喔。夠簡單吧。
註:
- 例圖中的文章不是我的,因為手邊缺乏測試資料,感謝好友Haly提供他的無名匯出檔,並同意我截圖做成教學。
- 這個功能目前是利用Blogger的開放性匯出格式,試圖產生與Blogger Atom XML相容的檔案。本人不100%保證功能之正確性 (說不定Blogger改個做法,這隻程式就暫時不能用了) 。本人不負擔匯入資料遺失的風險,請自行做好檢查/備份的工作。
有那麼完整易用的搬家方案,你還在等什麼?
訂閱:
文章 (Atom)