昨天結束在Facebook登入之後,今天就接續昨天的內容,以 木棉花的粉絲專頁 為例,來講怎麼爬下來貼文的內容吧! 進到木棉花粉專 time.sleep( 5 ) # 進入木棉花專頁 driver.get( "https://www.facebook.com/emuse.com.tw" ) time.sleep( 5 ) 其實就跟昨天一樣,使用 get() 函數進到木棉花的粉專。 time.sleep() 設定延遲是為了讓Facebook有處理資料的時間,這點在使用Selenium時很重要,如果你都不給延遲時間,就有可能因為資料還沒載入而出錯。 模擬滾輪下滑 昨天已經講過了Facebook必須往下滑動才會載入資料,所以現在就要讓Selenium模擬出使用者滑鼠往下滑動的行為。 # 往下滑3次,讓Facebook載入文章內容 for x in range ( 3 ): driver.execute_script( "window.scrollTo(0,document.body.scrollHeight)" ) print ( "scroll" ) time.sleep( 5 ) 這邊是讓Selenium執行JavaScript的程式,雖然我沒有講過JavaScript,但你只要知道這段程式就是控制瀏覽器向下滑1頁。而且每次下滑後都要給一點延遲時間載入資料。 擷取貼文內容 接下來,我們對貼文 右鍵>>檢查 ,發現到內容放在一個 class="kvgmc6g5 cxmmr5t8 oygrvhab hcukyx3x c1et5uql ii04i59q" 的 <div> 中。 再往下看,每一行文字都是放在 dir="auto" 的 <div> 中。 好,那麼程式碼就是這樣。 # 定位文章標題 titles = soup.find_all( "div...