跟著IG潮流來爬蟲-用Selenium帶您自動登入 IG -系列1(附Python程式碼)

行銷資料科學
13 min readOct 19, 2020

--

歡迎來到 Selenium動態網頁爬蟲系列文章
使用 Selenium自動登入 Instagram

今天你 “ IG ”了嗎?
先看圖再看文,讓Instagram成為時下年輕人最喜愛,也是最流行的社群交流平台。大家習慣用圖片記錄生活,用圖片吸引消費者的第一目光。IG有豐富的照片、文情並茂的篇章、熱絡討論的留言區。人潮帶來錢潮,資料帶來商機,數據分析師可以從大量的資料中,找到有價值的資訊,用來分析最新的趨勢!

但進入IG爬取資料前,還得先登入,今日要跟大家分享如何一鍵快速登入Instagram。

爬取 Instagram 內容前,還要手動登入帳號是否覺得很困擾呢?
想要一鍵成功爬下 Instagram 豐富的內容嗎?

那你千萬不能錯過這個環節!
有了這樣的功能,能讓爬蟲的過程更加地順暢喔!

接下來就要跟大家分享如何一鍵就能快速登入Instagram

先帶大家看一下成果畫面吧~

Selenium 必備技能-網頁檢視器概念說明

首先,我們把網頁檢視器打開
Windows系統:請按F12或者是ctrl + shift +iMacOS系統:請按option+command+c)可以看到以下畫面(圖一)

(圖一)網頁檢視器畫面

點擊彈出視窗上方的Elements,可以檢視網站元素。(圖二)

(圖二)點擊彈出視窗上方的Elements

到Elements的畫面後,可以點擊彈出視窗左上角的小鼠標。(圖三)

(圖三)點擊彈出視窗左上角的小鼠標

點完小鼠標後,此時我們在網頁任意滑動時,旁邊的「藍底區塊」將會跟著移動。(圖四)
大家一定會好奇「藍底區塊」是甚麼呢?
這裡的藍色區塊即是對應著「鼠標指著的區塊」的網頁元素,可以再仔細看看下面的動態圖檔,就會發現藍色區塊其實一直跟著鼠標的移動,出現了多次大小的藍色區塊。

(圖四)小鼠標功能顯示

以上的簡單概念,是否都清楚了呢?
看似簡單的過程,但在之後的操作,可是會不停地派上用場。登入之後,接下來我們就帶大家進入實戰階段了!

接下來,就來看看如何在網頁上快速登入instagram吧!

先來查看網頁元素

我們點擊小鼠標功能後,將鼠標移到大家常常輸入的「帳號」欄位上,就可以得到「帳號」的網頁元素。(圖五)

(圖五)得到帳號區塊的網頁元素

將網頁元素放大來檢視,可以看到帳號區塊的元素中有name的標籤!(圖六)

(圖六)帳號區塊的元素

那密碼的區塊呢?
密碼區塊元素的name標籤,也可以用以上相同方法找到!(圖七)

(圖七)帳號、密碼區塊的網頁元素

再來,按照前面得到網頁元素步驟執行之後,我們來查看「登入」區塊的網頁元素,可以發現到區塊內的元素數量少而且看起來的排序似乎很亂。(圖八)

遇到這樣的情況莫急莫慌莫害怕,後續我們會跟大家分享該如何處理!

(圖八)「登入」區塊的網頁元素

在開啟新的瀏覽器登入 Instagram 後,必會遇到「儲存你的登入資料」和「開啟通知」兩個頁面,在這邊我們在兩個頁面都選擇點選「稍後再說」的按鈕。此時,當我們查看按鈕的區塊元素時,也會遇到元素內容少跟排序亂的問題(圖九)。稍安勿躁,解決方法即將在後續揭曉!(圖九)

(圖九)「稍後再說」按鈕(儲存登入資料以及開啟通知)

「稍後再說」區塊的元素(儲存登入資料以及開啟通知)(圖十)

(圖十)稍後再說區塊的元素(儲存登入資料以及開啟通知)

看完網頁元素之後,是否覺得有些複雜呢?
不用擔心!只要跟著下面的步驟相信各位一定可以成功的。

現在就開始進入Selenium的階段囉!

一開始,我們先import所需要的套件。

接下來的步驟會分成三個階段說明:

1. 自動填入帳號密碼,且點擊登入
2. 點擊「稍後再說」(儲存登入資料)
3. 點擊「稍後再說」(開啟通知)

1.自動填入帳號密碼,且點擊登入

1–1. 透過Chromedriver 開啟網頁

若想知道Chromedriver 是如何運作的朋友們,請點以下連結~

  1. 動態網頁爬蟲第一道鎖 — Selenium教學:如何使用Webdriver、send_keys(附Python 程式碼)
  2. 動態網頁爬蟲第二道鎖 — Selenium教學:如何使用find_element(s)取得網頁元素(附Python 程式碼)

1–2. 前往Instagram 登入頁面

url = 'https://www.instagram.com/'browser.get(url)

url就是Instagram登入的網址,使用browser.get(url)可以讓webdriver前往該網頁,進行後續登入的相關動作。

1–3. 等待區塊的出現(NAME、XPATH)

  • (1)WebDriverWait(browser,30).until(EC.presence_of_element_located((By.NAME, ‘username’ )))
  • (2)WebDriverWait(browser,30).until(EC.presence_of_element_located((By.XPATH, ‘XPATH路徑’ )))

這邊的功能是等到區塊的出現之後才做「填入帳號密碼」與「點擊登入按鈕」的動作,若少了這個步驟很有可能會因為找不到可以輸入或點擊的地方而發生錯誤。因此,請大家不要忘了此「等待」的步驟。

相信聰明的大家在1–3 (1)的式子中發現了熟悉的 ‘username’了吧~
沒錯!這個就是出現在前面網站元素中的name = ‘username’,這個name就是用在這邊使用的!

那再回頭來看1–3(2)的式子中有一個 ‘XPATH路徑’ ,這個就是要來解決前面網站元素很少很亂的情況!
可以對著「該區塊網站元素」點擊右鍵,清單中有一個‘Copy’的選項,該選項中再選擇‘Copy Xpath’,就能複製到該區塊元素的XPATH路徑了!(可以參考下方動畫-圖十一

(圖十一)複製到該區塊元素的XPATH路徑(此例為登入按鈕)

1–4 找到各個區塊元素並對該區塊執行動作

(1)找到帳號區塊,命名為username_input,且使用send_keys()自動輸入「帳號」
username_input = browser.find_elements_by_name(‘username’)[0]
username_input.send_keys("您的帳號")
(2)找到登入區塊,命名為login_click,且使用click()自動點擊「登入」按鈕
login_click = browser.find_elements_by_xpath('登入區塊的XPATH路徑')[0]
login_click.click()

2. 點擊「稍後再說」(儲存登入資料視窗)

(1)找到稍後再說區塊,命名為store_click,且使用click()自動點擊「稍後再說」按鈕
store_click = browser.find_elements_by_xpath('稍後再說區塊的XPATH路徑')[0]
store_click.click()

3. 點擊「稍後再說」(開啟通知視窗)

(1)找到稍後再說區塊,命名為notification_click,且使用click()自動點擊「稍後再說」按鈕
notification_click = browser.find_elements_by_xpath('稍後再說區塊的XPATH路徑')[0]
notification_click.click()

以上的步驟就是使用Selenium快速自動登入Instagram帳號的步驟!用Seleniun自動登入的方式,會省下您爬蟲的許多時間,也會讓你的爬蟲程式更聰明~

Thinking smarter makes you work smarter!
本篇完整的程式碼在此

如果你喜歡我的文章的話,請給我一點拍手~
如果你覺得喜歡又實用的話,請給我更多的拍手!

作者:張友志(臺灣行銷研究特邀作者)、鍾皓軒(臺灣行銷研究有限公司創辦人)

歡迎加入我們的Telegram獲取即時訊息!https://t.me/marketingdatascience
歡迎加入我們的Line@獲取即時訊息!https://line.me/R/ti/p/%40cde8265r

您可能有興趣:

📢TMR為您量身打造「全方位數據課程」

👨‍🎓熱門Python程式語言結合全新商業思維,快來終生學習不間斷!

【TMR】 X 【 好學校】
👨‍💼Python商業全系列數位課程👨‍💼

#行銷人必學實用Python課程

《 Python 0到1 基礎商業數據分析實戰 》
💥 價格 :3188
👉 從0開始:手把手從頭學習,適合完全沒學過的學員
👉 商業應用全台最多:傳授市面上少見的Python實務應用
👉 網路輿情爬蟲演練:網路輿情商務爬蟲技法
👉 競品分析:競爭價值定位圖找出藍海策略
👉 貨架陳列視覺化:解析行銷策略及廣告預算配置方法
🛒 前往購買:https://hahow.in/cr/python0-1

《 顧客分類大師:Python x RFM 會員經營新觀點 》
💥 價格 :2388

🎯 Python X RFM最佳拍檔,輕鬆鎖定潛(錢)在顧客
不需要出門,在家也能學習專業課程,讓你擁有會員經營的新思維!

本課程以五個面向為您的企業,做更深入的健診:
👉 市場面:以最基本的顧客消費資料(頻率、購買次數),將現有顧客區隔分類。
👉 財務面:計算出在每個顧客身上所賺得毛利,在不同客群中的獲利。
👉 行銷面:藉由 RFM 的分析進行行銷預算重新分配。
👉 產品面:觀察在不同客群中,各個產品的銷售狀況。
👉 顧客回購面:分析顧客的購買週期後,進行精準推薦。
🛒 前往購買:https://hahow.in/cr/rfm-model

《 AI 行銷學:用 Python 機器學習創造商業新價值 》
💥 價格 :3888
👉 全台第一門Python機器學習線上課程
👉 教導你快速理解Logistic Regression, XGBoost, Random Forest商務機器學習模型。
👉 建構老闆或主管們看得懂的模型評估指標,讓精準行銷方案更容易被接受且推出
👉 如何利用機器學習找出消費者心中的重要變數及客樣貌與特徵,做到個體及總體的商品推薦?
👉 如何從數以萬計的消費資料中偵測可能的詐欺名單?
🛒 前往購買:https://hahow.in/cr/python-ml

#實用投資分析課程

《 用 Python 打造自己的股票小秘書 》
💥 價格 :4288
👉 打造自動推播機器人,趁著股市最近低迷,找出最適進場點
👉 「到價提醒」功能,大大提升投資便利性
👉 了解Python雲端服務架構,完整的專案流程
👉 孰悉No SQL資料庫操作,未來大數據的基礎
🛒 前往購買:https://hahow.in/cr/stock-secretary

#好學校企業百大課程之一:

台科 EMBA 年年爆滿的一門 Word 課(A系列)
💥 價格 :950
👉 系統性學習Office軟體功能,教您別人不知道的快捷鍵
👉 調整不受控制的行距與精準對齊排版
👉 一鍵轉換Word到Excel
👉 有效率處理企畫書、畢業論文、小組報告、公文等
🛒 前往購買:https://hahow.in/cr/tmr-word1

台科 EMBA 年年爆滿的一門 Word 課(B+C系列)
💥 價格 :1,050
👉 傳授獨家快捷鍵字典
👉 分享好用的大綱模式,讓文章處理更有效率
👉 建立大綱模式、多層次清單、目錄與圖表目錄,掌握文件編輯規則
👉 優化文章的邏輯架構
🛒 前往購買:https://hahow.in/cr/tmr-word2

— — — — — — — — — — — — — — — — -

【TMR】 X 【工研院】
🏭工業4.0大數據智慧應用課程🏭

《Python工業4.0人工智慧:製程資料處理大師》

製程數據資料 X 資料科學,
為您開啟工業人工智慧領域的大門!
👉全球前十大智慧製程案例實戰
👉專業講師手把手帶您入門製程資料處理分析
👉課後完整模組心法讓您通通帶回家

💥價格 : 2,800
🏃趕緊手刀前往購買:https://bit.ly/39koNbn

— — — — — — — — — — — — — — — — -

2020課程地圖

💪 點我看更多

🏆 國內第一本行銷資料科學專書

💪 點我看書本資訊

🏆 國內第一本行銷資料科學 ” 實作 ” 專書

💪 點我看書本資訊

🏆國內第一本「股票小祕書」專書

附上購書網址~ 國外的朋友也可以使用博客來與金石堂的通路轉運到國外哦!

  1. 天瓏書局:http://bit.ly/stock-secretaryBot
  2. 博客來:https://www.books.com.tw/products/0010833772

--

--

行銷資料科學

Marketing data science. 台灣第一個行銷資料科學(MDS)知識部落,本粉絲專頁在探討行銷資料科學之基礎概念、趨勢、新工具和實作,讓粉絲們瞭解資料科學的行銷運用,並開啟厚植數據分析能力之契機。粉絲專頁:https://www.facebook.com/MarketingDataScienceTMR

More from 行銷資料科學