從百度空間到CSDN——博客搬家源碼

1.CSDN的博客使用的是MetaWeblog Api,可以使用xml-rpc進行操作。下面的代碼演示了怎樣使用api發佈博客

 

其中需要注意的是categories是一個數組。

2.知道了怎樣使用api發佈博客之後,我們就該進行下一步:讀取百度空間的博文內容了。首先定義一個BaiduHi的class,用來存放從百度博客讀取出來的數據。

 

3.讀取百度空間博文內容,注意:我們使用的是遊客權限來讀取百度空間的內容,如果有私密信息,需要將其公開之後程序才能讀取。另外我使用的百度空間模板爲“80後青春”,如果您使用的不是此模板,html源碼可能會不同,解析就可能失敗。如果使用本程序請保持和我的模板一致。板式爲空間裝扮-板式-顯示出來的第二行第二列那個

 

4.我們現在完成了寫CSDN博客與讀取並解析百度空間博文的工作。接下來需要把它們連起來,完成導入

 

5.至此如果一切順利的話您的博文應該已經全部導入到CSDN博客了,如果有一些小問題,如網絡超時,操作太頻繁並CSDN暫時封鎖的話,在再次執行導入之前就需要將原來導入的數據刪除,或者是跳過才能保證CSDN博文不會重複。下面是一個刪除CSDN已有博文的方法:

 

6.好了,經過耐心操作我們的導入工作應該已經完成了。

本程序有不足的地方:

  • 不支持圖片導入
  • 只是針對筆者自己博客量身定做的程序,裏面許多情況如url中包含漢字,模板的通用性等問題沒有加以考慮,在使用的時候應該根據實際情況加以修正
  • 有少數博客導入失敗,筆者130多篇博客有4篇導入失敗,不過由於比較少,可以用手動發帖來彌補
  • 速度問題 由於CSDN會短暫屏蔽頻繁的訪問,所以本程序在導入一篇博客後採取了休眠5秒鐘的方法,這樣會降低速度。另外如果百度上面的博文過多的話建議採集百度數據的時候也加上休眠時間,防止封鎖

7.使用到的包爲xml-rpc,您可以在這裏下載到最新版本。CSDN博客API在這裏可以找到。程序中涉及的發帖,刪帖所需的參數均在api中有詳細說明

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章