對自己上網搜索記錄進行爬蟲?太精彩了!

網絡爬蟲 Google 編程語言 Python 中國統計網 2017-05-15

對自己上網搜索記錄進行爬蟲?太精彩了!

前言

國外習慣用 Google 進行搜索,可以毫不誇張的說 Google 已經徹底地融入了日常生活。如今人們一有什麼問題都習慣谷歌一下,敲敲鍵盤,你就能找到想要的答案。

與此同時,你的 Google 搜索記錄也反映了某段時間你的心態,好奇心,追求甚至是擔憂。如果你已註冊了 Google 帳戶(通常是 Gmail ),根據你對隱私項的設置, Google 能夠記錄並提供你的搜索歷史。下面我將告訴大家如何獲取和分析你的 Google 搜索記錄,以及進行數據可視化。

對自己上網搜索記錄進行爬蟲?太精彩了!

1. 下載數據

首先進入:https://takeout.google.com/settings/takeout,在這裡你可以找到各種個人數據集,包括你的 GChat 對話和電子郵件。 取消全選(“全不選”),然後選擇“搜索”並點擊“下一步”。在下一頁,選擇文件類型(.tgz )和傳遞方式。 (我選擇通過郵件發送的下載鏈接)。打開該電子郵件後,點擊,下載存檔並解壓縮,你將得到文件夾“ Takeout ”和“ Searches ”中的一些文件。

對自己上網搜索記錄進行爬蟲?太精彩了!

2. 準備數據

數據是 JSON 格式,這種格式比較規整,可以通過通過 Python 變成向量:

import json

3. 分析數據

我們可以看到截止到 2014 年秋季的 886 天內,我總共進行了近 64,000 次 Google 搜索,每天超過 70 次。 我每天在工作時都使用個人筆記本電腦,這能夠解釋這一巨大的搜索數量,同時也說明我並沒有誇大 Google 搜索的普遍性!

數據中有很多值得挖掘的模式。比如每小時搜索數據:

hours = [datetime.datetime.strptime(i, '%Y-%m-%d %H:%M:%S').hour for i in dates]

對自己上網搜索記錄進行爬蟲?太精彩了!

每小時圖反映了我的作息規律:當我沒有使用 Google 時,很可能我在睡覺。在到達工作地點之後,我開始各種搜索,在下午 3 點左右達到高峰值。晚餐後經過簡短的休息,我再次開始搜索,在 10 點左右達到又一個高峰,一直持續到過了凌晨才結束。(我是一隻夜貓子)。

我都在 Google 搜索些什麼呢?可以對詞頻進行分析排序:

combo = ' '.join(searches)

對自己上網搜索記錄進行爬蟲?太精彩了!

英文中常常使用的 “the”“of” 可以忽略不計,在列表中仍然可以看到過去幾年中我的心路歷程。我經常寫博客,而且會避免過度使用同一個詞,因此會常常搜索同義詞。 我住在紐約(“nyc”),常常去健身房(“nysc”)。 我是一個有追求的數據科學家(“data”,“python”,“r”)。 我是典型的美國人(“baseball”,“States”),同時也很關心時事(“trump”)。

當然,時間段對搜索詞有很大的影響。人們不會因為相同的原因每天都搜索同一件事,同時也不會每天想同樣的事。因此,分析隨著時間推移一些特定的詞的變化很有意義。這能夠讓我們瞭解興趣和關注點是如何隨著時間的推移而變化的:

d = {"search": searches,

對自己上網搜索記錄進行爬蟲?太精彩了!

雖然你我素未謀面,但是你完全可以通過這個圖來了解我是誰,以及在某段時間內我在想些什麼。 畢業後,直到 2015 年夏天我都在 IBM (紅色)工作。有好幾個月,我一直特別關注金州勇士隊創紀錄的賽季(綠色)。 在 2016 年春天,我決定學習 Python (淺藍色)。接近總統選舉時,我非常關注特朗普(深藍色),其中中斷了一段時間,直到他的就職典禮又開設重新關注。

結語

讀完從這篇文章,會讓你感受到 Google 無所不知的強大性。這些反映在從地圖到 GChat 對話以及個人日曆等數據。個人的電子足跡涵蓋了多少訊息,以及誰有權獲得這些數據,這都值得我們深思。

但可以肯定的是,你有權查看你的搜索記錄,並且瞭解當中的意義。我們都漸漸失去了在睡前回顧一天做了些什麼的習慣,在某種程度上 Google 充當了類似日記的功能,而且反映的內容更真實。

在這裡鼓勵你試著下載自己的數據,嘗試分析。完整的代碼鏈接如下。如果你習慣用的是某度搜索的話,那怪我咯~

對自己上網搜索記錄進行爬蟲?太精彩了!

End.

本文轉載來源:CDA數據分析師

相關推薦

推薦中...