Skip to content

《JavaScript 爬蟲新思路!從零開始帶你用 Node. js 打造 FB&IG 爬蟲專案》書籍範例程式

License

Notifications You must be signed in to change notification settings

dean9703111/social_crawler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JavaScript 爬蟲新思路!

2022.7.14 公告

因 FB、IG 大幅改版,粉絲專頁的追蹤者數量在破萬後,即使是在搜尋的頁面也只能看到模糊數據 😢,所以在此次程式的改版中:

  1. 會針對粉絲專頁改版後的「xxx位追蹤者」、「xxx個讚」、「xxx人在追蹤」處理(統一視為追蹤者)
  2. 由於 FB、IG 機制改變,擁有破萬追蹤者的粉專不再顯示詳細數據,故不會跳轉到搜尋頁面搜尋

沒意料到 FB、IG 有如此重大更新,在這裡向讀者們致上最深刻的歉意 🙇🏻🙇🏻🙇🏻

因為 FB、IG 改版頻繁,筆者不敢保證每次都能在第一時間修改程式 😭😭😭

不過書中所提供的邏輯&方法,能幫你解決大部分爬蟲遇到的問題,期望讀者也可以在這段過程中,吸取到改善爬蟲程式的經驗

現在 FB 粉絲專案的樣板越來越多,若有未考量到的版本,讀者可以參考範例,練習自己微調程式,在理解運作的模式後,才算真正學習到一門技術。

從零開始帶你用 Node. js 打造 FB&IG 爬蟲專案

image

有興趣的朋友可以到天瓏書局選購,感謝大家的支持。購書連結

參考資源目錄

PART 2 開發前環境介紹&設定

Ch3. 開發前環境介紹&設定

PART 3 寫程式所需的基礎常識(Node.js)

Ch4. 寫程式時該注意的基本原則
Ch5. 認識 Node.js 專案
Ch6. 用 Yarn 安裝及控管套件
Ch7. 善用「.env」管理環境變數,幫你快速遷移專案
Ch8. 在「.gitignore」設定不加入版控的資料

PART 4 用 selenium-webdriver 爬蟲網頁資訊

Ch9. 爬蟲之前
Ch10. 認識 selenium-webdriver:操作所見即所得的爬蟲工具
Ch11. 爬蟲第一步,FB 先登入
Ch12. 關閉瀏覽器彈窗,取得 FB 粉專追蹤數
Ch13. 舉一反三,帶你了解 IG 爬蟲不可忽略的細節
Ch14. 將 FB 與 IG 爬蟲融合
Ch15. 重構程式碼,減少歷史業障
Ch16. 用 try-catch 捕獲爬蟲的過程中發生的錯誤
Ch17. json x 爬蟲 = 瑣事自動化
Ch18. 驗證 json 檔的內容是否符合格式
Ch19. 優化爬蟲的小技巧

PART 5 使用 Google Sheets 儲存爬蟲資訊

Ch21. 免費儲存資料的好選擇,一起進入省錢起手式
Ch22. 了解官方範例在做什麼事
Ch23. 你在文件迷路了嗎?用兩個處理 Sheet 的範例帶你攻略官方文件
Ch24. 寫入爬蟲資料,告別 Copy & Paste 的日子
Ch25. 客戶:「爬蟲資料塞錯位置!」專案被報 Bug 的處理方式
Ch26. 客戶:「我希望新資料插在最前面!」如何談需求變更
Ch27. 優化格式,滿足客戶需求&談使用者體驗

PART 6 設定排程自動執行爬蟲程式

Ch28. 用 schedule 套件讓爬蟲自己動起來
Ch29. 用 pm2 套件來控管排程,背景執行才是王道!
Ch30. 今天爬蟲怎麼沒有跑?來試試系統內建的排程吧!

PART 7 透過 LINE 回報爬蟲狀況

Ch31. 透過 POSTMAN 了解 LINE Notify 如何使用
Ch32. 用 axios 發出 LINE 通知
Ch33. 整合 LINE 的爬蟲通知,專案大功告成!

免責聲明:書中教學與範例程式僅抓取公開數據作爲研究,任何組織和個人不得以此技術盜取他人智慧財產、造成網站損害,否則一切后果由該組織或個人承擔。作者不承擔任何法律及連帶責任!

更新紀錄

2021.11.15:因應 FB 改版,微調爬蟲程式邏輯,解決「追蹤人數」精確度判定問題,相關 commit 請看:連結
2021.11.18:因應 IG 改版,調整登入檢測程式;並修改部分範例連結,相關 commit 請看:連結
2021.12.13:因應 IG 改版,調整抓取追蹤人數的 XPath,相關 commit 請看:連結
2021.12.17:因應 IG 改版,調整抓取追蹤人數的 XPath(IG 最近很喜歡改來改去的 QQ),相關 commit 請看:連結
2022.2.13:因應 IG 改版,調整抓取追蹤人數的 XPath(IG 常常會有路徑上細微的調整),相關 commit 請看:連結
2022.3.22:因應 FB 改版,調整確認是否登入的 Class,相關 commit 請看:連結
2022.4.27:因應 FB 改版,調整搜尋粉絲頁面的文字分析,相關 commit 請看:連結
2022.6.1:因應 IG 改版,粉絲人數原本用 Xpath,現在改用 Class 來抓,相關 commit 請看:連結
2022.7.14:因應 FB 改版,當追蹤人數破萬後不顯示詳細數據,故將前往搜尋頁面的程式註解,並調整原程式架構,相關 commit 請看:連結
2022.8.19:因應 FB 改版,調整登入元素的 Class、搜尋粉絲頁面的文字分析及 Class,相關 commit 請看:連結
2022.8.19:FB 粉絲團對追蹤、按讚的文字顯示邏輯進行調整,因此對程式做相應的設計,相關 commit 請看:連結
2022.8.23:FB 粉絲團再次對追蹤、按讚的文字顯示邏輯進行調整,因此對程式做相應的設計,相關 commit 請看:連結
2022.9.22:因應 IG 改版,調整確認是否登入的 Class,相關 commit 請看:連結
2022.10.4:因應 FB 改版,調整確認是否登入、追蹤人數的 Class,相關 commit 請看:連結
2022.10.30:因應 IG 改版,調整確認是否登入的 Class,相關 commit 請看:連結
2022.11.26:因應 IG 改版,調整登入的網址,相關 commit 請看:連結
2022.1.26:因應 IG 改版,當追蹤人數破萬後不顯示詳細數據,相關 commit 請看:連結

About

《JavaScript 爬蟲新思路!從零開始帶你用 Node. js 打造 FB&IG 爬蟲專案》書籍範例程式

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published