100行python code追蹤PTT現在紅什麼
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時間上的消耗是可接受的。