Published using Google Docs
Homework 4: Apple Daily News Scraper
Updated automatically every 5 minutes

Homework 4 : 蘋果日報即時新聞整理

[ Due: 5/23 Fri. ]

本次作業會讓大家練習如何爬網頁。只需要用簡單的 node.js script 就可以了,不需要用非常複雜的工具。

Prerequisite:

複習一下 JSON 是什麼,長什麼樣子,如何用 JSON 儲存資料

http://ccsp.ntumobile.org/webdev/js.html#/9/5

複習一下 2014/4/24 Kirby 講師的課程投影片

https://speakerdeck.com/tkirby/data-parsing-and-visualization

不會檢查,但是對本作業會有幫助。

詳細的要求(DOs):

以下為本次作業蘋果日報即時新聞整理所需要執行的動作:

  1. 首先把蘋果日報網站即時新聞頁面前五頁的 html 抓下來

螢幕快照 2014-05-01 下午11.49.47.png

  1. 將每則新聞標題依其分類統整:
  1. 計算出各個分類的新聞總數,並將同分類的新聞放一起列出新聞清單
  1. 把十五種新聞分類、分類新聞總數、各新聞標題、網址、時間、是否有影片、以下列格式(JSON)儲存於 appledaily.json 檔案中,並算出最多新聞數量的分類在指令列輸出
    (縮排並不在作業要求之中)

        [

        {

                "category":"動物",

                "news_count": 2,

                "news":[

                        {

                                "title":"新聞1標題",

                                "url":"新聞1網址",

                                "time":"新聞1刊登時間",

                                "video": true

                        },

                        {

                                "title":"新聞2標題",

                                "url":"新聞2網址",

                                "time":"新聞2刊登時間",

                                "video": false

                        }

                ]

        },

        {

                "category":"FUN",

                "news_count": 1,

                "news":[

                        {

                                "title":"新聞3標題",

                                "url":"新聞3網址",

                                "time":"新聞3刊登時間",

                                "video": false

                        }                

]

        }

]

本次作業限制如下:

  1. 本次作業的 node.js modules 主要使用 request, cheerio (其他類似的功能的 module 也可,可在 demo 時說明你使用的 module 是什麼)
  1. script 執行完成後在指令列輸出(stdout) 顯示新聞數量最多的分類為何,例如:

繳交要求

  1. 執行你所撰寫的 script 抓取當下的即時新聞
  2. 在指令列輸出(stdout) 顯示新聞數量最多的分類
  3. 打開儲存的 appledaily.json 檔案