---
# System prepended metadata

title: PTT 熱門關鍵字 210105
tags: [Progress Report]

---

# PTT 熱門關鍵字 210105

## 本次目標
https://hackmd.io/hgva81pjSSSaiCICrl7-Ig
1. 關鍵字結果把國名篩選掉
2. 擷取的數量要再更多
3. 近期熱門關鍵字

## 實作
### 1. PTT 爬蟲
+ 使用 python 爬蟲 [政黑板(HatePolitics)](https://www.ptt.cc/bbs/HatePolitics/index.html) 及 [八卦板(Gossiping)](https://www.ptt.cc/bbs/Gossiping/index.html)
    + 爬 100 頁約耗時 1 小時 (正常情況下一天約 100 頁)。

#### json 檔案格式
Example: https://www.ptt.cc/bbs/HatePolitics/M.1609688214.A.8A4.html
```json
{
"M.1609688214.A.8A4": 
    {
        "board": "HatePolitics", 
        "title": "Re: [討論] 被蔡英文這樣搞，好像當中國人也沒啥不好",
        "datetime": "2021-01-03 23:36:52",
        "content": "中共軍機不斷繞臺，\n中共就是....", 
        "message": ["柯文哲 賴清德 陳水扁", "柯文哲比蔡英文好 為啥只有4% 哈哈哈哈 智障才覺得柯能"]
    }
}
```

### 2. 文字雲
1. 只擷取文章內容有「中國、大陸、武漢、北京、天津、上海、重慶、香港、澳門、港澳、河北、山西、內蒙古、遼寧、吉林、黑龍江、...」名詞的文章。
2. 篩掉指定字詞(ex. 中國、中共...)，不輸出到文字雲。

#### 政黑板 (HatePolitics)

| 2020/06/17~2020/06/23(半年前) | 2020/12/28~2021/01/03 (近期) |
| -------- | -------- |
| ![](https://i.imgur.com/v4LtJV0.png)     | ![](https://i.imgur.com/hX9Js5y.png)     |


#### 八卦板 (HatePolitics)

| 2019/12/27~2019/12/30 (疫情爆發前) | 2020/01/29~2020/01/31 (疫情剛爆發) |
| -------- | -------- |
|   ![](https://i.imgur.com/ckj8nEn.png)   |  ![](https://i.imgur.com/PAr45GA.png)   |


### 3. 近期熱門關鍵字
> 只擷取文章內容有「中國、大陸、武漢、北京、天津、上海、重慶、香港、澳門、港澳、河北、山西、內蒙古、遼寧、吉林、黑龍江、...」名詞的文章。


#### 實作方法
1. **A** = 指定日期區間A的前500名熱門關鍵字
2. **B** = 指定日期區間B的前500名熱門關鍵字
3. 取出所有存在 **A** ，但不存在 **B** 的關鍵字


#### 政黑板 2020/12/28 ~ 2021/01/03 熱門關鍵字
> **A** = 2020/12/28 ~ 2021/01/03 的前500名熱門關鍵字 (半年前)
> **B** = 2020/06/21 ~ 2020/06/27 的前500名熱門關鍵字 (近期)
> 取出所有存在 **A** ，但不存在 **B** 的關鍵字

(以下為我挑幾個輸出結果中，有意義的名詞)
(數字為出現次數)
```json
{
    '日本': 155,
    '經濟': 142,
    '國人': 139,
    '疫苗': 112, 
    '問題': 96,
    '政治': 94,
    '蔡英文': 87, 
    '無人機': 81, 
    '琉球': 76, 
    '疫情': 74
}
```

#### 八卦板 2020/01/29 ~ 2020/01/31 熱門關鍵字
+ 八卦版第一篇討論武漢肺炎的文章為「 [[問卦] 武漢疑爆發非典型肺炎冠狀病毒群聚感染？](https://www.ptt.cc/bbs/Gossiping/M.1577730263.A.177.html)」，其發文日期為 2019/12/31，因此以該日期為分水嶺。

> **A** = 2020/01/29 ~ 2020/01/31 的前500名熱門關鍵字 (疫情爆發前)
> **B** = 2019/12/27 ~ 2019/12/29 的前500名熱門關鍵字 (疫情剛爆發)
> 取出所有存在 **A** ，但不存在 **B** 的關鍵字

(以下為我挑幾個輸出結果中，有意義的名詞)
==看得出來，相較於2019/12/27~2019/12/29，於 2020/01/29~2020/01/31 期間，人們在八卦板熱烈討論疫情相關議題。==
```json
{
    '口罩': 718, 
    '武漢': 684,
    '疫情': 555,
    '肺炎': 431, 
    '確診': 348,
    '表示': 284,
    '日本': 260,
    '病例': 238,
    '國人': 223, 
    'jpg': 216,
    '例': 208, 
    '冠狀病毒': 206, 
    '出現': 188,
    '新型': 188,
    '感染': 186,
    '完整': 184,
    '病毒': 182,
    '防疫': 179,
    '問題': 169, 
    '隔離': 152,
    '經濟': 147,
    '醫院': 145, 
    '宣布': 136, 
    '想': 135, 
    '爆發': 126, 
}
```

## 結論
+ 效果的確不錯，但資料集需要更多才能做長遠分析。
    + 爬PTT需要耗費大量時間，也許可以每天午夜爬前一整天的內容。


###### tags: `Progress Report`