CSDN博文下載器(JAVA)

來源:互聯網
上載者:User

標籤:java   csdn博文下載   jar   Regex   pdf   

自己用JAVA做的CSDN博文下載器,提供jar包和源碼。

源碼也公開吧,反正jar反編譯也能得到源碼,新手不會jar加密。


資源csdn在審核吧...好慢


考慮到上課的時候看部落格不方便,想把好的部落格全部下載下來,在手機上看。

各種百度,找到了幾個工具。

1.http://blog.csdn.net/gzshun/article/details/7555525

大神寫了思路和教程,用他的工具發現的問題:

(1)下載不完全,測試只能下載第一頁的21篇文章左右。

(2)產生的pdf看著還行,代碼部分有的超出pdf頁面範圍,導致看不到,不方便

2.http://www.cr173.com/soft/48129.html

這個大神寫的通用部落格匯出工具,好像介面有變化,失效了,匯出不了。


我就在琢磨自己寫個程式出來。

好了,有了http://blog.csdn.net/gzshun/article/category/932960 前輩的思路。

擴充了一下,自己的思路:

(1)電腦版改為手機版

個人感覺手機版csdn更精簡,處理起來肯定方便,連結是http://m.blog.csdn.net/blog,後面加使用者名稱就是該使用者的部落格了,這裡要區別使用者名稱和自訂網域名,電腦版的部落格連結一般是自訂網域名,例如:我的電腦版csdn部落格自訂網域名是:noaboutfengyue,我的使用者名稱是:oWuGuanFengYue123,電腦版中http://blog.csdn.net/加這兩個都可以跳轉到部落格,但是在手機版中只能訪問 http://m.blog.csdn.net/blog/oWuGuanFengYue123開啟部落格。

為了使用方便,程式只需讀入自訂網域名就能下載,所以,增加個方法,功能是通過網域名稱獲得使用者名稱,實現很簡單,開啟http://blog.csdn.net/noaboutfengyue,源碼中就有oWuGuanFengYue123使用者名稱,通過Regex解析就Ok。

(2)採用ITEXT從html生產pdf

在http://blog.csdn.net/noaboutfengyue/article/details/45174787中已經說明

(3)擷取所有文章列表

經測試發現http://m.blog.csdn.net/blog/oWuGuanFengYue123?page= 這個page是文章頁數,當這個數字很大時,大過文章頁數,取個極限,99999,http://m.blog.csdn.net/blog/oWuGuanFengYue123?page=999999,顯示的就是所有文章

(4)文章列表的擷取和文章內容的解析

在(3)中擷取的頁面,通過Regex,解析出所有文章標題和url,然後通過這個url得到html源碼,由於使用IText,對html源碼的格式要求很嚴,所以這裡要進行預先處理(這裡做的有點不完善),比如<br>報錯,必須改成<br/>,還有一些,然後直接轉換成pdf輸出。

(5)增加序號

為了使產生出來的pdf有序,按照作者第一篇博文開始編號。產生出來的檔案名稱是  1.標題.pdf


思路大概就這些,細節方面有些要處理。

使用說明:

下載目錄在當前程式目錄/csdn/使用者名稱


示範一下吧。

用http://m.blog.csdn.net/blog/lmj623565791 這個老師的來示範,部落格寫得很好。



處理過程顯示:


還是有些地方處理的不完善,大致上處理還不錯,能產生大部分pdf。

結果:


就這樣了,哈哈,世界清淨了。

不說了,我去下載好的部落格去了,上課了去看。


複製去Google翻譯翻譯結果

CSDN博文下載器(JAVA)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.