跟著IG潮流來爬蟲-如何爬取IG貼文短連結-系列2(附Python程式碼)

行銷資料科學
12 min readOct 21, 2020

--

歡迎來到 Selenium 動態網頁爬蟲系列文章第二篇~
本篇文章將為您詳細解說如何使用 Selenium 爬取 Instagram 貼文短連結

想知道如何用Selenium自動登入IG?點擊下方連結觀看:
跟著IG潮流來爬蟲-用Selenium帶您自動登入 IG -系列1(附Python程式碼)

為何需要爬取貼文短連結呢?

貼文連結是爬取 Instagram 貼文中最重要的一環!
短連結就像是貼文的身份證字號,可以做為貼文的依據,用來辨識每篇貼文,在後續分析時也可藉由連結回頭檢視,驗證爬取資訊的正確性。在爬取資料時,若是能將文章的短連結也同時爬下,對於後續資料分析,會非常有幫助,因為當我們想要回頭檢視更多細部的文字、網頁內容時,貼連結可以讓我快速的檢閱。

(資料畫面來源:https://www.instagram.com/p/CGTFa-EHt2q/

接下來,我們就開始教各位如何獲取這些短連結的資料吧!!

網頁檢視器概念說明

以 bbcnews 的粉絲專頁為例(https://www.instagram.com/bbcnews/),
當我們打開網頁檢視器 (Windows 系統:請按 F12;MacOS 系統:option+command+c) 時,可以在網頁右側看到以下視窗,如圖一

圖一、網頁檢視器(資料畫面來源:https://www.instagram.com/bbcnews/

接著,點選彈出視窗上方的 Elements,檢視網頁,如圖二所示。

圖二、點擊網頁元素選項(資料畫面來源:https://www.instagram.com/bbcnews/

進入到Elements的介面之後,會看到詳細的網頁程式碼,然而,我們難以在短時間內辨識出各程式碼的功用。這時我們可以點選視窗左上角的小鼠標,當我們任意的在網頁上滑動時,旁邊的灰色網底區塊應該也會跟著移動,如圖三。也就是當我們將鼠標移到網站中的任意區塊做點擊,它就會自動幫我們找到鼠標對應區塊的網頁元素!

圖三、檢測元素的鼠標(資料畫面來源:https://www.instagram.com/bbcnews/

尋找短連結所在位置

雖然平常不會注意到,但是可以發現當我們將滑鼠移至IG貼文上方時,就會在左下角或右下角的位置出現所在貼文的連結,如圖四,因此我們可以推斷貼文的連結可能是包含在貼文區塊當中。

圖四、貼文短連結顯示處(資料畫面來源:https://www.instagram.com/bbcnews/

再來,我們就可以使用剛剛提到的小鼠標功能,點擊貼文區塊,找出對應的網頁程式碼,如圖五

圖五、點擊貼文區塊元素(資料畫面來源:https://www.instagram.com/bbcnews/

此時,就會發現原來貼文的短連結包含在貼文區塊當中!
圖六當中可以看到它被存放在 href 的屬性裡面,這是要作為接下來爬取的依據。

圖六、貼文短連結網頁元素

順帶一提,從圖六當中我們可以看見貼文短連結的形式是依照 “ /p/貼文編號/ ”,因此在之後的 Instagram 爬蟲系列文章也將會是依照這樣的形式來做使用。

知道了貼文短連結的所在位置之後,我們就可以開始把他們抓下來囉!

開始之前,我們先打開 Python3 編輯器和 Chromedriver,

想知道 Chromedriver的強大請見此
如何透過 Selenium登入 Instagram請見此

完成開啟 Chromedriver 並登入之後,就可以開始執行以下的程序了。

開始爬取貼文的短連結

首先將需要用到的套件import進來,如程式碼 1

接下來進入到IG粉專的頁面,如程式碼 2

最後執行底下的程式碼 3 就可以找到貼文的短連結啦~

以上程式碼解析

接下來為各位做以上程式碼的解析

由於 Instagram 是一個動態加載的網頁,若沒有將網頁下滑就會無法加載較底下的貼文

這時,我們可以使用「for 迴圈」來根據想要下滑的次數,將網頁下滑並加載,如下程式碼。

for i in range(n_scroll):

而下滑的方法我們使用 Javascript 中的 window.scrollTo() ,
每一次都將頁面下滑到底,如下程式碼。

scroll = 'window.scrollTo(0, document.body.scrollHeight);'    browser.execute_script(scroll)

加載完成之後,運用 page_source 將所有的網頁原始碼抓取下來,如下程式碼。

html = browser.page_source 
soup = Soup(html, ‘lxml’)

經過 beautifulsoup 整理過後,找出其中包含 href 屬性的標籤。

圖七、貼文短連結標籤位置

回到圖七網頁元素這邊來觀察,可以看到它的標籤位置存在於 article > div > div > div > div > a 底下,使用 soup.select 來取得這個標籤位置底下的元素,如下程式碼。

soup.select('article div div div div a')

最後再用一個迴圈來將所有的貼文短連結存放至自己的列表當中,如下程式碼。

# 尋找所有的貼文連結
for elem in soup.select('article div div div div a'):
if elem['href'] not in post_url:
post_url.append(elem['href'])

這時貼文短連結就成為您的囊中之物了!

以上就是爬取 Instagram 貼文短連結的完整技巧了,
本篇完整的程式碼在此分享給您,讓您也可以增強爬蟲功力~
如果喜歡我的文章,記得幫我拍個手!!

更多Selenium相關文章連結:

  1. FB 爬蟲可以更簡單-用Selenium自動登入FB-系列1(附Python程式碼)
  2. 好奇自己FB的互動性指標嗎?!用Selenium爬蟲-搞定貼文按讚數、留言數、分享數-系列2(附Python程式碼)
  3. 用Selenium爬蟲-抓取FB文章內容、時間-系列3(附Python程式碼)

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

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

您可能有興趣:

📢TMR全新線上直播課程

【直播Workshop-線上實戰講堂】
《用AI進行顧客資料分析與銷售判斷》

#百元價超值課程
#3小時精華案例解析
#帶您快速入門AI應用領域

🔹直播日期:11/07(六)
🔹直播時間:14:00–17:00
🔹課程詳情:https://bit.ly/2RHOwT6

【課程簡介】
📌Python技法結合商業思維,一步步建立數值化思考能力
📌機器學習分析顧客行為,找出最佳獲利模式
📌輿情數據結合STP策略,洞察潛在藍海市場
📌專業講師實案講解,帶您快速落地應用

❗現在購買還有多種好康優惠❗
💥早鳥價 :$550(7折)
💥兩人以上同行:$500(64折)
(原價:$780)

📢趕緊號召親朋好友一起上課~
🏃‍♂前往報名:https://bit.ly/2RHOwT6

— — — — — — — — — — — — — —

👨‍🎓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

--

--

行銷資料科學
行銷資料科學

Written by 行銷資料科學

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

No responses yet