100行python code追蹤PTT現在紅什麼

PTT熱門文章文字雲

Chestermo
5 min readJul 30, 2020
20200730_wordcloud.img

PTT是當前台灣趨勢的指標之一,透過解析熱門文章,製作文字雲,可概覽當前台灣熱門話題,熟悉台灣熱詞趨勢。

本文結合python網路爬蟲、NLP中文分詞、python wordcloud製作、cron排程撰寫,100行以內的python code打造你的PTT熱門追蹤文字雲。如果您已經有基礎,想直接看code,點這邊傳送門

大綱

  • PTT熱門文章爬蟲
  • 名詞提取以及詞頻計算
  • 文字雲製作
  • crontab排程設置
  • 總結

PTT熱門文章爬蟲

  • Cookie的使用:PTT爬蟲僅需透過get請求,難度不高,僅部分文章對年齡有限制,因此需要Cookie置於頭部方可順利取得內文。
  • asyncio增加效率:以ThreadPoolExecutor執行requests,避免多篇文章多個請求IO等待,影響爬取效率的問題。

名詞提取與詞頻計算

  • 選用HanLP:Python中的中文斷詞工具較為人熟知的有jieba、thulac、hanlp、fool、nlpir,而根據既有評測結果可知,jieba在時間上具有相當大的優勢,但分詞效果普通,本文選用分詞效果較佳的hanlp作為工具,因為僅爬取當前20篇熱門文章,數量在可接受範圍,因此hanlp時間上的消耗是可接受的。

--

--

Chestermo
Chestermo

Written by Chestermo

Graduated from NTU and worked as a Python backend engineer in Taipei.Passionate about Learning new technologies. github: https://github.com/Chestermozhao