Java課程設計——博客做業教學數據分析系統(201521123082 黃華林)

Java課程設計——博客做業教學數據分析系統(201521123082 黃華林)


1、團隊課程設計博客連接

博客做業教學數據分析系統(From:網絡五條狗)html


2、我的負責模塊或任務說明

1.網絡爬蟲

首先,一個博客做業教學數據分析系統的基礎就是相關的數據。

其次,系統是經過網絡爬蟲技術抓取博客網頁源碼上的數據。

最後,將抓取的數據存入設計好的數據庫以供提取分析。


3、本身的代碼提交記錄截圖


4、本身負責模塊或任務詳細說明

1.負責模塊

(1)抓取每位同窗每次博客做業網頁的瀏覽量、閱讀量、篇幅、圖片數量;

(2)把每位同窗的學號和分數、每次博客做業地址、圖片數量、篇幅、瀏覽量、閱讀數量存入數據庫。

2.任務詳細說明

(1)圖片數量抓取

利用Jsoup獲取網頁源碼,而後利用getElementsByTag()篩選img標籤,統計圖片數量。java

(2)文章篇幅抓取

直接利用size()方法統計網頁源碼篇幅。web

(3)瀏覽量和閱讀量數據抓取

<1>一開始就直接想從做業博客原始連接的元素源碼:


想直接用Jsoup方法抓取,以下部分測試代碼段:數據庫

// 獲取目標HTML代碼
        Elements elements1 = doc.select("[class=postDesc]");
        // 獲取瀏覽數量
        Elements elements2 = elements1.select("#post_view_count");
        String browse = elements2.get(0).text();
        System.out.println(browse);
        // 得到評論數量
        Elements elements3 = elements1.select("#post_comment_count");
        String comment = elements3.get(0).text();
        System.out.println(comment);

而後兩個的抓取的結果都是「...」。json

<2>查看網頁源碼後以下:

<3>而後利用FireBug調試,得到瀏覽量的url

而後尋找到瀏覽量頁面的url的規律:"http://www.cnblogs.com/mvc/blog/ViewCountCommentCout.aspx?postId="+"每一個學生的博客連接的postId"
以個人做業爲例子查看網頁源碼:

而後利用select("body").text()獲取瀏覽量。網絡

<4>一樣得到閱讀量的url

拼裝辦法:"http://www.cnblogs.com/mvc/blog/GetComments.aspx?postId="+postId+"&blogApp="+name+"&pageIndex=0&anchorCommentId=0";
查看網頁以下:

網頁源碼以下:

首先利用HttpClient獲取網頁html,而後利用json的方法得到commentCount的值。多線程

(4)以上功能的關鍵代碼

抓取圖片數量、文章幅度、瀏覽量、閱讀量:

得到評論量的實現:
mvc

(5)創建一個WebCrawler類,鏈接數據庫,利用多線程讀取garde表的url、學號、分數,而且利用每一個學生的博客做業地址,抓取四個數據後存入數據庫以供數據分析。

採用多線程實現網頁數據抓取的關鍵代碼:

運行狀況:


數據庫:
post


5、課程設計感想

此次java課程設計,咱們組一共五我的。咱們組提早一週,就天天晚上7點集合敲代碼。組長給每位同窗都安排好工做,而後每一個人都努力地完成工做。在集合敲代碼的時候,我對於數據庫和多線程的知識並不牢固,常常遇到瓶頸,這時候我會請教daiker,他對爬蟲的使用很瞭解。咱們採用導入庫的方法,利用jsoup、HttpEntity,抓取網頁上須要的數據。在使用這些庫的時候,不少方法都是實時百度,以網上代碼爲例,本身經過學習,學以至用,提高了本身解決問題的能力。最後,咱們的課程設計完成了,感謝組長和daiker的帶領。咱們經過課程設計,相互瞭解,相互促進,是一次很好的體驗。學習

相關文章
相關標籤/搜索