平时工作日电脑都是放在实验室,很少带回去,有的时候还要运行一些东西,人先回宿舍了,电脑也跟着熬了一宿夜。像我这种老破电脑,最怕逞强,对其损伤还是很大的。
前些天看了一些不错的思路,基本差不多,但他使用了微博的API,我觉得有点麻烦,于是换了自己的方法。
Thought
首先通过读取最新一条微博内容获取指令:设置一个关键词,当检测到微博出现关键词,即可触发关机指令;同时考虑只有新微博的指令才有效,进行一些逻辑判断。
关机是否顺利呢?这是在用到发送邮件的模块,成功关机则发送邮件到指定邮箱。
大致如此。
Analysis
先来写获取微博内容的部分:
因为移动版微博的内容较少,速度也快点,所以抓的移动版微博,找到自己主页个人微博的地址。
headers伪装,之后再使用BeautifulSoup及find进行内容提取,比较简单。
json.loads转化为字典,之后提取更加方便。
最后返回最新一条微博的发布时间cr_time,微博id号id_及微博内容text。
之后再写一下发送邮件的部分:
SMTP_host为发送邮件地址的服务器,from_addr为发送邮件地址,password为发送邮件邮箱密码,to_addrs为接收邮件地址,subject为邮件主题,content为邮件内容。
比较简单。
|
|
最后连接一下:
先获取之前的最新微博信息,进入循环,每次刷新再获得最新的微博信息,并进行比较,当最新微博id改变且新微博内容中有 “shutdown”这个关键词时,进行关机。
关机命令os.system(‘shutdown -s -t 10’)为10秒后关机,具体命令可再查询。
time.strftime(‘%H:%M:%S’)为当前时间。
最后sleep(20),表示每20秒执行一次。
|
|
大体如此:-)
Showing
首先运行程序,发布微博,带有关键词。
等一等,然后:
就是这么轻松:——)
Plus+
这个自动发送邮件模块其实还是很好用的,如果你的邮箱有手机提醒的话就更完美了。
在此之前,我还应用这个邮件模块,写了一个自动查询火车票的脚本。
通过它,我顺利的刷到了从某地回北京的硬卧票。。
怎么应用就看你了,希望你有一个不错的思路:——)