Tinder 加上爬蟲機器人,在網路上已有許多自動按讚機器人的案例,而這篇文章主要是一個延伸應用的分享。
不光是按讚,你也可以使用 Python 爬蟲工具來自動收集 Tinder 上會員的資料,以及應用這些資料,做簡易的會員資料分析。文章不會過於聚焦在技術上,算是一個小想法分享。
情境
什麼時候用的到這項技術呢?
1. 你想去 Tinder 工作
2. 你的產品競品是 Tinder
3. 你單純想認識很多漂亮女生(?)
上述的話其實是半開玩笑的,希望大家藉由這個案例,可以延伸應用在許多不同的情境。
Tinder 會員資料收集
在進行分析前,我們會先需要龐大的資料集。採用人工的方式收集實在太費時,如何自動化收集這些數據呢?下方的工具可以完成你的任務。
Python Selenium 爬蟲
Selenium 是為瀏覽器自動化(Browser Automation)需求所設計的一套工具集合,讓程式可以直接驅動瀏覽器進行各種網站操作。再白話一點的說法就是,Selenium 會開啟一個我設定的特定網頁,並照著我的程式碼去操作這個網頁,就像一個機器人一樣。
我們需要藉由 Selenium 完成自動化收集 Tinder 會員資料的任務,詳細的程式碼可以參考這個教學:Automate TINDER with Python tutorial
這個影片會教導你 Selenium 的用法,以及如何製作一個自動滑喜歡的 Tinder Bot。
而我們需要做的改良是在向右滑喜歡之前先記錄下這個 Tinder 會員的資料。在頁面中,我們可以看到會員的 姓名
以及 年紀
,因此先記錄這兩筆資料。
#獲得會員名稱
name=self.driver.find_element_by_xpath("會員名字的 xpath").text#獲得會員年齡
year=self.driver.find_element_by_xpath("會員年紀的 xpath").text
隨後為了獲得更多的資訊,我們需要點擊額訊的 icon ,展開這名會員的額外資料。
#點擊額外資訊icon
self.driver.find_element_by_xpath("額外資訊 icon 的 xpath").click();
在 Tinder 會員的內頁中,我們可以獲得這些額外資訊 自我介紹
以及 我的最愛歌曲
,操作的方式就如同上方存取名稱與年齡一樣,但需要額外注意的事,不是每一個會員都有設定自我介紹與我的最愛歌曲,若程式設定去擷取會員的自我介紹時,並沒有找到自我介紹,程式就會報錯並中止。因此你需要使用 Python 中的例外處理 try-except,概念寫法大致如下
try:
#嘗試獲得會員的自我介紹
#獲得會員自我介紹
introduction=self.driver.find_element_by_xpath().text
#點擊愛心切換下個會員
self.driver.find_element_by_xpath().click();
except:
#因為會員沒有設定自我介紹,找不到自我介紹時,將執行這個部分
#點擊愛心切換下個會員
self.driver.find_element_by_xpath().click();
獲得的資料存取在 list 當中,這樣你就完成了自動紀錄 Tinder 會員資料的機器人囉,會員資料收集的工作就交給他自動完成吧!
Tinder 會員資料分析
將上述收集的資料,轉換成 Dataframe 的格式,接下來你就可以使用這些數據來自由發揮了。
如果你對這些資料感到非常茫然,我可以簡單分享利用這些數據可以獲得哪些資訊,以下的數據結論都只是範例。
年齡
可以得知 Tinder 用戶的平均年齡,以及使用者的年齡區間比例。
舉例:平均年齡為 21 歲,18~22 的使用者佔 63%,23~27的使用者佔 24%,28歲以上的使用者佔 13%。
自我介紹
目前有許多詐騙帳號的自我介紹會放上詐騙集團的 Line Id,若將自我介紹中有 Line Id 的帳號認定為假帳號,則可以得知收集到的會員資料中有多少比例的假帳號。
最愛的歌曲
根據有無設定最愛的歌曲會員比例,可以得知這個功能對會員來說究竟有沒有使用的必要。
舉例:若未來新增最愛的國家欄位,根據資料分析發現,僅有 6.4% 的用戶有設定最愛的國家,那使否可以指出大部分的用戶不想或是不知道可以設定這個欄位。
其他
你也可以觀察欄位彼此之間的關聯性。
舉例:18~22 歲的會員自我介紹字數與個人資料完整度明顯比 28 歲以上的會員高。
結語
今天簡單的分享就到這邊,善用 Selenium 可以幫自己在工作上節省很多時間,除了本文的 Tinder 會員資料收集外,了解這項技術的你肯定能想到更多更有趣的應用 。
感謝你閱讀完這篇文章,希望這個小分享能促使你想到更多不同的延伸應用 😃
有任何問題也歡迎在底下留言或是來信告訴我: poyu90909090@gmail.com 📫
如果你覺得文章對你有所幫助,請在下方幫我拍個手(長按最多拍50下) 👏