實習期間完成之進度
焦榮安:
在放寒假前老師交代我們要把網站的抓取告一段落,我目前完成爬取的網站有親子天下還有嬰兒與母親,在完成網站爬取之後,我開始在七月中著手進行針對大家所有的文章集合幾來做jiaba段詞還有word2vec模型的運用。
圖37圖38為word2vec和jiaba成功的結果
黃榆程:
1.寒假期間:
一開始老師先叫我們找我們專題要做什麼樣的主題,在想的過程中老師請我們 先練習網路爬蟲,並以 為範本進行爬蟲,以為範本是因為的網頁結 構是簡單的,所以很適合用來讓我們摸索網路爬蟲這個領域。
圖39為 ptt 論壇的 babymother 版。
圖40為標題是”長牙牙齒大小”此篇文章的網頁原始碼,不只有標題,可以看調關 於此篇文章的更多資訊,如:作者、日期、推文人數等。
圖41為分別為ptt部分程式碼
2.1082 學期開學至今:
開學後,我們開始朝我們訂定的目標邁進,為了統整育兒相關網站的資料,開 始尋找育兒相關的網頁,並爬取網頁中的資料以建立我們網站所需的資料庫。老師 要求我們每個人各自尋找幼兒相關網站,並各自爬取網站的資料,等資料收集完畢 後,開始討論我們要如何分析抓取到的資料。
圖42為我負責的網站”babyhome”,我之所以會選擇這個網站是因為,它有 明確的分類文章的類別,而且使用者多,個類別的文章也都有持續更新,官方的發 文也會提供一些和育兒有關的相關法規,因此我覺得這是很好的資料來源。
圖43為將上述網頁的資料爬取後輸出成 json 格式的檔案,大部分的程式碼大 多都和之前爬取 ptt 的差不多,找出想要爬取的資料,找出資料所在的標籤,再把資 料中的文字轉到 json 格式的檔案,不同的是”babyhome”的網頁架構比起 ptt 較複 雜一些,需要利用迴圈等方式讓程式自動換頁或抓其他分類的文章等
之後我又找到了伊莉討論區的育兒父母版這個討論區也有相當多的資料,跟ptt的babymother版性質差不多,主要提供父母一個對於育兒、嬰兒資訊討論的網站
圖44為伊莉討論區的育兒父母版
在抓取的過程中伊莉討論區是需要會員才能夠看文章的因此我去辦了一個帳號,但只辦帳號還是抓不到資料的還區要在網站中抓取cookie才能夠讓網頁識別你的身分,才抓的到資料
圖45為網頁中的cookie
圖46為在伊莉討論區抓取到的資料並匯出的json檔
再來就是把資料分別匯入到資料庫中,需要要讓程式自動去分別是否有重複資料,例如是否有重複的author或tag,還有因此我將所有的author匯出成一個list的json檔,tag也同理。匯入資料庫時先把article、tag、author、website這些主要的table匯入再將tag、author利用list的index給值即可配對好每個文章的author和tag
圖47為部分程式
鄭云瑄:
-
寒假期間:
在放寒假前,楊老師有請我們在放假期間練習 Python 爬蟲,因此我在寒假期間以 PTT 的美妝版當作我的練習網頁,用 Python 語言中「Requests」套件, 將美妝版上看板中可見的所有資訊(如:文章的標題、作者、內容、留言、網址)擷取下來,再透過 Python 將所抓下的資料暫存 Dictionary 字典,匯入 List 串列中,並且匯出成 Json 格式的暫存檔案。而我在這之外,也在程式中建立一個引擎連接 MySQL,將抓取下來的結果同時匯出到資料庫中儲存。
圖48為部分程式碼。
2.1082 學期:
在1082 學期,我們將寒假所作的 PTT 練習更加延伸,在例外處理部分作更多的除錯和優化,以及儲存檔案格式的多層作修改。在 PTT 的練習告一段落之後,我們與楊老師決定了專題的大方向-嬰幼兒相關資訊的彙整網站,於是就在網路上各自找了兩個有關於嬰幼兒資訊的網站,將網站中相關的文章內容(如:文章的標題、作者、內容、留言、網址)都抓下來,並且一樣透過 Python 將所抓下的資料暫存在Dictionary 字典,匯入 List 串列中,並且匯出成 Json 格式的暫存檔案。
圖49圖50為程式部分檔案及結果。
在暑假期間,我完成了兩個網頁文章資料的抓取,我分別抓的兩個網站是媽媽經的懷孕與教養版以及Mobile01的媽媽寶寶親子版。
在分小組之後,我所負責的是要進行TF-IDF分析的小組,並且主要執行將資料放入資料庫的工作。我採取的方式是先將資料庫的關聯綱目寫入資料庫,然後再利用程式將資料的JSON檔插入資料庫。
在這部分的程式中,要先建立一個連接本機資料庫的引擎,並同時用with open引入需要被存入資料庫的資料檔案。在主要執行插入的程式中,雖然資料庫已經預先建立,但是程式中一樣要給資料表的定義。在這之外,我在插入資料前,我有在程式中寫多個資料庫的查詢語法,在每一筆資料插入前都會先跟資料庫中的資料做比對,如果重複則不會寫入,我覺得這個部份是非常重要的,因為我們在抓資料的時候並不能判斷哪個文章或是資料已經抓過了,因此在匯入資料庫的過程就是一個很好的檢查時機,能確保最後我們使用的都會是正確且符合我們需要的資料。
圖50圖51為部分程式碼。
蒙宗凌:
1.寒假期間:
在放寒假前,老師要我們在放假期間練習 Python 爬蟲跟熟悉Python如何撰寫,所以我在寒假期間以 PTT 的電影版當作我第一個練習的地方。最一開始是使用 Python 語言中「Requests」套件, 將美妝版上看板中可見的所有資訊,包含:文章的標題、作者、內容、留言、網址等等可用的資訊都把它給抓下來,再透過 Python 將所抓下的資料暫存 Dictionary 字典裡面,匯入 List 串列中,並且匯出成 Json 格式的暫存檔案。
圖52為字典的部分程式碼。
2.1082 學期:
在1082 學期,我們將寒假所作的 PTT 練習更加延伸,在例外處理部分作更多的除錯和優化,以及儲存檔案格式的多層作修改。在 PTT 的練習告一段落之後,我們與楊老師決定了專題的大方向-嬰幼兒相關資訊的彙整網站,於是就在網路上各自找了兩個有關於嬰幼兒資訊的網站,將網站中相關的文章內容(如:文章的標題、作者、內容、留言、網址)都抓下來,並且一樣透過 Python 將所抓下的資料暫存在Dictionary 字典,匯入 List 串列中,並且匯出成 Json 格式的暫存檔案。
圖53為程式部分檔案及結果。
在暑假期間,老師要求我們多抓幾個相關網站的資料好做整合,而我多抓了兩個網站分別是兩個網頁文章資料的抓取,我分別抓的兩個網站是媽咪拜的嬰兒幼兒相關討論板以及母乳協會的討論板以及知識庫。
在分小組之後,我所負責的是要進行TF-IDF分析的小組,並且主要執行是做文章斷詞以及分析的工作。我一開始是完全仰賴Jieba去做斷詞跟算TF-IDF,但後來聽了老師的話之後,去網路上找了TF-IDF的函式去進行運算。
圖54為用Jieba做斷詞以及TF-IDF的運算(analyse是做TF-IDF運算的功能)
之後要把TF-IDF算好的字跟他相對應的權重放進MySQL裡面,方便我之後想前端的時候從裡面呼叫出資料來呈現給使用者看。
因為我們這組是要做跟文字雲相關的,所以需要資料的權重來決定他在文字雲上的大小
文字雲的部分就需要用到HTML跟JavaScript的部分,但我還是沒有很熟悉這兩個前端的部分,目前還在邊做邊學習當中。
圖55為把Json檔資料讀取出來寫成一個HTML文字雲的程式。
圖56為做出來的成果(文字雲中的字可以點開到相對應網站)