Python Selenium 自動化登入FB 爬首篇貼文-windows 版( 附程式碼與教學影片)

zino lin
誤闖數據叢林的商管人Zino
4 min readJul 2, 2020

相關文章:
一個觀念,開啟Python 網路爬蟲成長之路!(含全系列連結)
Python爬下PTT文章內容技巧(含程式碼)

在寫網路爬蟲的讀者一定會發現,有些想爬的網頁資訊會需要登入後才會顯示在網頁上。這類網頁就無法簡單使用前篇《Python爬下PTT文章內容技巧》的Bs4模組快速寫出來。這時候就會需要使用到頂頂大名的Selenium了XD。我們這裡就以爬每個帳號登入FB後第一篇文章為範例。

影片與程式碼在最下方

FB 第一篇貼文

Selenium簡介

Selenium一開始被開發主要是用來做自動化測試的工具,所以可以透過撰寫程式來模擬瀏覽器使用網頁的行為。例如:測試購買按鈕被按下1000次會發生什麼事呢? 總不可能請一個員工來按所以就需要一個工具來模擬使用者操作吧XD。 所以我們剛好可以利用這個特點來實踐網路爬蟲拉。

Selenium使用前準備

安裝Selenium套件

一般Anaconda 預先安裝的套件是不包含Selenium的我們只好手動安裝了。當然歡迎讀者可以使用自己的環境,只要可以安裝就可以了。

  1. 打開Anaconda Prompt 準備安裝Python 套件包。
打開 anaconda Prompt 準備安裝套件

2. 輸入下方安裝指令,安裝 selenium

pip install selenium
執行結果

檢查Chrome 版本

等等要下載一個driver 需要跟本機中的Chrome 版本對應所以一定要確認一下。

打開Chrome > 右上角的更多(三個點)>說明>關於Chrome> 記下版本。

關於Google Chrome
記住版本

下載Selenium web driver

  1. 選擇對的Selenium web driver(點此下載)

2. 下載到稍後程式會存放的資料夾中。 一定要放對位置,chromedriver.exe不可以放在子資料夾中喔。一定要放在同個資料夾中

解壓縮在外面

程式碼撰寫

1. 關閉通知

現在很多網站都會希望可以顯示通知,雖然不會影響我們但是很礙眼哈。所以直接設定關掉。

通知圖示

2.模擬使用者登入

這裡個css_selector跟《Python爬下PTT文章內容技巧》中爬標題的技巧是一樣的,都是根據HTML 的class 或者ID 抓取。運氣很好我們要的元素都剛好有ID 導致我們可以輕鬆定位。

各元素對應ID
實踐程式碼

3. 抓取第一篇文章印出文字

執行結果

完整程式碼:

我相信對於很多讀者來說,只要學到者這裡就可以舉一反三。甚至要爬其他粉專的資料應該也不難了XD。

教學影片

手把手入門網路爬蟲全系列文章(全含程式碼與教學影片):

1.一個觀念,開啟Python 網路爬蟲成長之路!
2.
第一支爬蟲:輕鬆爬取台灣第一位武漢肺炎確診資訊!
3.
Cookie 突破PPT 八卦版十八禁限制-網路爬蟲系列
4.
以網路爬蟲角度解析HTML基本概念
5.
Python手把手爬取 PPT 八卦版最新話題!
6.
Python爬取“多頁面”PTT八卦版資訊

--

--

zino lin
誤闖數據叢林的商管人Zino

HI!我是Zino! 我曾任數據分析新創CTO且擔任過資策會與外貿協會Python講師。目前回到學界當菸酒生中。努力分享自己的經驗與所常!幫助更多人前進💪