教大家一招用Python實時監控自己的女朋友每天上網都在做什麼!
這個操作還是儘量少用點,發現了要被打死打殘的哈哈哈!
需求
背景
1、mac下chrome的瀏覽記錄檢視,獲取網址(url)和訪問時間。
路徑:/Users/使用者名稱/Library/Application Support/Google/Chrome/Default/History;History:是一個SQLite資料庫,其實就是一個檔案,可以用DB Browser for SQLite ;去檢視所有的資訊,我們要的資訊在urls表中;怎麼獲取:用python內建的sqlite3庫連線History,通過sql得到我們想要的資訊。
2、傳送一個帶附件的郵件
用email和smtplib這兩個python內建模組去構造和發郵件
3、將這些過程自動化
用shell指令碼把這些過程連線起來,再用crontab命令定時執行。
要求
macOS Sierra、Python3.6、Chrome、發郵件的qq郵箱地址、qq郵箱授權碼、SMTP伺服器地址 : smtp.qq.com、接受郵件的郵箱地址。
程式碼
在這裡相信有許多想要學習Python的同學,大家可以+下Python學習分享裙:叄零肆+零伍零+柒玖玖,即可免費領取一整套系統的 Python學習教程!
執行
1、我們先用DB Browser for SQLite看看History中的urls表的資料組成
2、get_history.py:通過這個指令碼,我們可以把url和訪問時間提取出來,並且儲存在result.txt中,下圖就是我得到的部分結果。
3、send_email.py:通過這個指令碼,我們可以把result.txt作為附件,傳送給指定郵箱地址,下圖是我得到的部分結果。
4、/start.sh :其實前面幾個指令碼已經完成了我們的任務,但如果每次都執行這麼多指令碼,那就太麻煩了,我們可以把這些指令碼的執行語句整理成一個shell指令碼。
說明:前面兩個數字,就是你每天執行這個指令碼的時間,我這裡設定的是14:20。
重要的事再說一遍,一定要寫絕對路徑!!!
問題
server.login(from_addr, password)函式中的password不是郵箱密碼,在qq郵箱中,指的是授權碼。
答:qq郵箱授權碼:什麼是授權碼,它又是如何設定?_QQ郵箱幫助中心
timestamp時間戳怎麼轉換的
答:last_visit_time是微秒,所以要除以10^6;
last_visit_time的起始值是1601年1月1日0時0分0秒,所以要減去11644473600;篩選昨天的資料:現在的日期與last_visit_time的差值小於1的資料,就是距離當前時間小於1天的資料
展望:
1.把這些打包成一個可執行檔案,雙擊之後可以直接部署,並且可以跨平臺。
2.目前這個指令碼,只有在電腦是開啟並且聯網的時候,才能自動執行,所以並不能理想地監控別人的瀏覽記錄哦!