【Python 爬蟲】從 Dcard 網站看爬蟲入門(III)

飛飛
PyLadies Taiwan
Published in
10 min readJan 15, 2018

--

一、事前準備

1.複習

第一階段=>傳送門,從第一階段我們可以瞭解「爬蟲」的目的、Python環境的建置以及beautifulsoup4requestsre等Python函式庫的實例。
而第二階段 => 傳送門,從第二階段我們可以知道何謂JSON檔案、了解API是什麼。

2.目的

本系列旨於透過Dcard來學習爬蟲,在Dcard計算熱門文章,是利用愛心數量,而不是回覆數量來計算,因此此篇目的以「透過dcard-spider 擷取逢甲版文章的存活期」為例, 我們定義文章的存活期為以第一則回覆到最後一則回覆的時間差。Dcard每天都有很多篇文章,要從裡面挑選重要文章時,存活期雖然不是Dcard使用的熱門文章指標,還是值得拿來作為討論程度的參考值。

3.環境建置

Python3、pip與函式庫的安裝

> python --version #查看版本號
Python 3.6.0
> pip --version
pip 9.0.1
> pip install requests
> pip install dcard-spider
> pip install python-dateutil
#查看套件是安裝完成
> python -c "import requests;from dcard import Dcard;import dateutil.parser;"

4.爬蟲步驟拆解

爬蟲步驟拆解

二、取得資料

1.思考我們需要哪些資料

a.定義存活期
我們定義存活期為一篇文章的討論度,我們在這邊定義一篇文章至少有兩則回應,而存活期為這篇文章第一則留言跟最後一則留言相差的時間。

b.查看Dcard API需要哪些欄位
我們在上一篇文章有提到Dcard API的網址:https://www.dcard.tw/_api/posts/[文章id]
我們以一篇逢甲的文章為例,如下圖,我們可以知道API中的欄位:
- 文章id
- 標題(title)
- 內容(content)
- 創立文章時間(createdAt)
- 更新文章時間(updatedAt)
- 回應的數量(commentCount)
- 喜歡的數量(likeCount)

--

--

飛飛
PyLadies Taiwan

尋找自己的意義,在資訊圈努力打滾求生存。