針對巴哈姆特和噗浪的 Python 爬蟲
Python crawler for Gamer and Plurk
Player_SystemCall
2023 年 7 月 4 日不過除了程式碼和參考資料的連結可以複製外,
其他都不可以複製就是了。
三、Python 程式
(一)說明
Python 接近自然語言的書寫邏輯、不用事先規定型別(Type)和好用易上手的好處人人皆知,以至於成為了幾乎大部分人學習程式時第 1 個接觸的語言和處理大數據時常被提起的可選擇選項之一,但與之相對應的代價是它執行的速度比 C 語言還要慢。到目前為止,我只有在網路上建立過 3 處據點,依據時間分別為巴哈姆特 Gamer、探路客 Timelog 和噗浪 Plurk,在去年 2022 年農曆過年後,探路客 Timelog 完成了最終的關站,因此目前只有 2 處,不是沒有想過去類似性質的遊戲基地 Gamebase 或是渾沌性質的臉書 Facebook 和稍微沒有這麼渾沌的推特 Twitter 開設新據點,但是我個人沒有這麼強烈的動力去做這件事。
依據我原本的規劃,原本只要寫 1 支程式即可,但是在我略為研究巴哈小屋和噗浪個人首頁在顯示流量方面的差異後,我立刻決定針對相對應的社群網站做客制化的調整;在爬蟲方面,原本的功能有起始和結束報時、爬取我的巴哈小屋和噗浪帳號資料後寫在 Google 試算表上,在經過懶癌的干擾下,追加了追蹤者和好友的名單及相關資訊的獲取和寫入試算表。
表 4 程式資訊表
程式重點和目的、社群網站 |
巴哈姆特 Gamer |
噗浪 Plurk |
探路克 Timelog |
社 群 網 站 |
建立爬蟲程式 |
要(完整版) |
要(完整版) |
不使用 |
副程式 |
使用 |
使用 |
不使用 |
取得起始時間 |
有 |
有 |
無 |
取得本機資料 |
有 |
有 |
無 |
取得帳號資訊 |
有 |
有 |
無 |
取得追蹤者名單 |
有 |
有 |
無 |
取得好友名單 |
有 |
有 |
無 |
Google Sheets |
寫入帳號資訊 |
有 |
有 |
無 |
寫入追蹤者名單 |
有 |
有 |
無 |
寫入好友名單 |
有 |
有 |
無 |
寫入程式資訊 和本機資訊 |
有 |
有 |
無 |
在完成針對巴哈姆特和噗浪的爬蟲程式後,我發現我可以把副程式的部分拉出來變成一份檔案,所以我就這麼做了,目前,主程式的檔案有 2 份,分別為 Python_crawler_main_for_gamer_ver4.py 和 Python_crawler_main_for_plurk_ver5.py,副程式的檔案有 1 份,為 Python_crawler_sub_ver1.py,前面的 3 份檔案於本地端可以搭配裝置的工作排程器運作;於雲端部分可以使用雲端服務平台來達成需求,由於我選擇 GitHub Action 作為雲端執行工具,因此主程式檔案需要配合其作相對應的調整,但在經過我的研讀後,我發現只要本地端使用環境變數檔案 .env,基本上就可以讓 1 份程式檔案不管在本地端或是 GitHub Action 都可以直接用。
表 5 程式使用表
|
巴哈姆特Gamer |
噗浪Plurk |
探路客Timelog |
程式位置 |
本地端(電腦) |
雲端( GitHub) |
本地端(電腦) |
雲端( GitHub) |
本地端(電腦) |
雲端( GitHub) |
主程式 |
Python_crawler_main_for_gamer_ver4.py |
Python_crawler_main_for_plurk_ver5.py |
None |
副程式 |
Python_crawler_sub_ver1.py |