1. 程式人生 > >教大家一招用Python實時監控自己的女朋友每天上網都在做什麼!

教大家一招用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.目前這個指令碼,只有在電腦是開啟並且聯網的時候,才能自動執行,所以並不能理想地監控別人的瀏覽記錄哦!