用Python监控男女友天天都在看哪些网站?这招绝了

直接进入主题
需求:

(1) 获取你对象chrome前一天的浏览记录中的全部网址(url)和访问时间,并存在一个txt文件中python

(2)将这个txt文件发送给指定的邮箱地址(你的邮箱)sql

(3)创建例行任务,天天定时自动完成这些操做,你就能够经过邮件查看你对象天天看啥了chrome

这里要注意:无论你是为了Python就业仍是兴趣爱好,记住:项目开发经验永远是核心,若是你没有2020最新python入门到高级实战视频教程,能够去小编的Python交流.裙 :七衣衣九七七巴而五(数字的谐音)转换下能够找到了,里面不少新python教程项目,还能够跟老司机交流讨教!
背景:

(1)mac下chrome的浏览记录在哪?怎么获取网址(url)和访问时间?shell

答:路径:/Users/用户名/Library/Application\ Support/Google/Chrome/Default/History数据库

History:是一个SQLite数据库,其实就是一个文件,能够用DB Browser for SQLitevim

去查看全部的信息,咱们要的信息在urls表中浏览器

怎么获取:用python内置的sqlite3库链接History,经过sql获得咱们想要的信息服务器

(2)怎么发送一个带附件的邮件?网络

答:使用python内置的email和smtplib两个模块去构造和发送邮件函数

(3)怎么把这些过程自动化?

答:使用shell脚本将这些过程链接起来,而后使用crontab命令定时运行

requirements:

macOS Sierra

Python3.6

Chrome

发送邮件的qq邮箱地址

qq邮箱受权码

SMTP服务器地址 : smtp.qq.com

接受邮件的邮箱地址

代码:

1. get_history.py

2. send_email.py

3. start.sh

4. crontab -e

连接:  密码: fspx

执行:

(1) 首先咱们用DB Browser for SQLite来看下History中的urls表的数据组成

从表中能够看出,咱们要的网址和访问时间就在urls.url和urls.last_visit_time中

(2) get_history.py:经过这个脚本,咱们能够把url和访问时间提取出来,而且存储在

result.txt中,下图就是我获得的部分结果

(3) send_email.py:经过这个脚本,咱们能够把result.txt做为附件,发送给指定邮箱地

址,下图是我获得的部分结果

(4) ./start.sh :其实,前面几个脚本,已经完成了咱们的任务,可是每次都执行这么多脚

本,太麻烦了,咱们能够把这些脚本的执行语句整理成一个shell脚本。

cp /Users/Marcel/Library/Application\ Support/Google/Chrome/Default/History /Users/Marcel/Desktop/tmp/code/chrome_history/
python /Users/Marcel/Desktop/tmp/code/chrome_history/get_history.py
python /Users/Marcel/Desktop/tmp/code/chrome_history/send_mail.py /Users/Marcel/Desktop/tmp/code/chrome_history/result.txt

这样,咱们在终端执行./start.sh,系统就会帮咱们把这三条语句依次执行了

注意:因为crontab命令须要绝对路径,因此这里的路径都是用绝对路径

(5) crontab :若是使用了这个命令,在电脑开机而且联网的状况,系统会自动执行,而后把结果发到你的邮箱

使用方法:在终端下输入crontab -e,使用vim输入下面一行代码就能够了

20 14 * * * /Users/Marcel/Desktop/tmp/code/chrome_history/start.sh

说明:前面两个数字,就是你天天执行这个脚本的时间,我这里设置的是14:20。

重要的事再说一遍,必定要写绝对路径!!!

问题:

1.server.login(from_addr, password)函数中的password不是邮箱密码,在qq邮箱中,指的是受权码

答:qq邮箱受权码:什么是受权码,它又是如何设置?_QQ邮箱帮助中心

2.访问History数据库时,显示The database is locked!

答:在咱们打开浏览器的同时去访问History时,就会出现这种状况,有两种解决办法:

(1)关闭浏览器,再去访问

(2)把History拷贝到其余文件夹中,而后访问该文件夹下的History

3.timestamp时间戳怎么转换的

答:last_visit_time是微秒,因此要除以10^6;

last_visit_time的起始值是1601年1月1日0时0分0秒,因此要减去11644473600;

筛选昨天的数据:如今的日期与last_visit_time的差值小于1的数据,就是距离当前时

间小于1天的数据

4.crontab出错

答:crontab中全部路径都要写绝对路径,包括py脚本中的路径也要写绝对路径!

5.路劲问题

答:你们在复现的时候,要注意把路劲改为本身电脑上的,还有那个邮箱相关的信息也要改为本身的。

总结:

注意:无论你是为了Python就业仍是兴趣爱好,记住:项目开发经验永远是核心,若是你没有2020最新python入门到高级实战视频教程,能够去小编的Python交流.裙 :七衣衣九七七巴而五(数字的谐音)转换下能够找到了,里面不少新python教程项目,还能够跟老司机交流讨教!

1.运用python链接SQLite数据库,并执行sql操做

2.运用python发送邮件

3.运用shell和crontab创建自动化例行任务

4.看别人隐私是不对的,这篇文章只是我本身瞎玩的,实际可行性不强本文的文字及图片来源于网络加上本身的想法,仅供学习、交流使用,不具备任何商业用途,版权归原做者全部,若有问题请及时联系咱们以做处理。

相关文章
相关标签/搜索