Python实现利用163邮箱远程关电脑脚本

学了一个礼拜Python之后写的,代码很粗糙,只是为了完成利用163邮箱远程关电脑功能。直接把代码发上来吧。要执行的话得先安装一些模块,看import语句。

十月初写的,写完这个之后就没怎么写python了,忘得厉害。

  • 本来想从mail.163.com模拟登录的,但这个网页提交按钮是个, 有点复杂,搞了几个小时搞不定。
  • 我就绕了一下,从http://reg.163.com/logins.jsp 登录。这个页面登录会被拦截,还是到不了邮箱。但确实是登录成功,我们能得到一个登录认证。
  • 再访问http://entry.mail.163.com,这样就登录邮箱成功了,但因为进了邮箱之后,页面也是太复杂了。还是不好拿到邮件信息。
  • 从第三步取得sid,生成一个URL,从这个URL直接访问邮件的XML文档页面。
  • 然后就简单啦,把页面抓下来解析一下邮件内容,按照邮件内容执行命令。所以其实不止能关电脑,在windows下还能远程写个批处理脚本。修改一下代码,linux也能执行。

halla.py

import requests
import mechanicalsoup
import bs4
import re
import TEST
import time
import argparse
from datetime import datetime
import lxml

parser = argparse.ArgumentParser(description='Login to GitHub.')
parser.add_argument("username")
parser.add_argument("password")
args = parser.parse_args()

n = 0
startime = datetime.strptime(datetime.now().strftime('%Y-%m-%d %H:%M:%S'),'%Y-%m-%d %H:%M:%S')
while True:
 #打开“浏览器”
 browser = mechanicalsoup.Browser()
 #第一个页面url
 url = "http://reg.163.com/logins.jsp?type=1&product=mail163&url=http://entry.mail.163.com/coremail/fcg/ntesdoor2?lightweight%3D1%26verifycookie%3D1%26language%3D-1%26style%3D1"
 #打开网易登录页面
 login_page = browser.get(url)
 #输入账户密码然后提交表单
 login_form = login_page.soup.select("#fLogin")[0]
 login_form.select("#username")[0]['value'] = args.username
 login_form.select("#password")[0]['value'] = args.password
 page2 = browser.submit(login_form, login_page.url)
 #获取page2内容
 page2_soup = bs4.BeautifulSoup(page2.content)
 #用page2的cookies登录网易邮箱
 cookie = page2.cookies.get_dict()
 page3 = browser.get('http://entry.mail.163.com/coremail/fcg/ntesdoor2')
 #获取page3的url中的sid,给出XMLurl
 sid = re.findall(r'(?<==).*(?=&)',page3.url)
 XMLurl = 'http://mail.163.com/js6/s?sid='+sid[0]+'&func=mbox:listMessages&topNav_mobileIcon_show=1&TopTabReaderShow=1&TopTabLofterShow=1&welcome_welcomemodule_mailrecom_click=1&LeftNavfolder1Click=1&mbox_folder_enter=1'
 #打开XMLurl页面,获取邮件
 page4 = browser.post(XMLurl)

 with open(r'q.xml','w',encoding='utf-8') as q:
  q.write(page4.text)

 TEST.PPP(r'q.xml',startime).ppp()
 n+=1
 print("循环执行第"+str(n)+'次')
 time.sleep(30)

TEST.py

import lxml.etree
import os
from datetime import datetime

class PPP():
 def __init__(self, src, startime):
  self.src = src
  self.startime = startime

 def ppp(self):
  parser = lxml.etree.XMLParser(recover=True)
  tree = lxml.etree.parse(self.src, parser)
  root = tree.getroot()
  array = root.find('array')

  for objects in array:
   FLAG = False
   for items in objects:
    if items.get('name') == 'subject':
     if items.text == '999':
      FLAG = True

    if items.get('name') == 'sentDate':
     raw_sentData = items.text
     sentData = datetime.strptime(raw_sentData,'%Y-%m-%d %H:%M:%S')
     if self.startime<sentData and FLAG==True:
      print('shutdown -s -t 60')

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

您可能感兴趣的文章:

  • Python3.4实现远程控制电脑开关机
  • python实现微信远程控制电脑
  • python编写微信远程控制电脑的程序
  • python如何实现远程控制电脑(结合微信)
(0)

相关推荐

  • python如何实现远程控制电脑(结合微信)

    不知道大家有没有这样一个烦恼,"自己的电脑总是被别人使用,又不好意思设置密码",所以利用python设计了一个程序来实现自由管控. 功能虽然简单,但大家可以通过其思路来实现更多的功能. 大致功能主要是两个部分, 一.电脑开机时,我的手机能收到通知. 二.可以通过手机发个特定的mail,就可以控制电脑关机. 第一个步骤:申请一个邮箱,使这个邮箱与你的手机号码绑定,然后你在这个邮箱中设定如果有新的邮件就发短信通知,这样开机时往这个邮箱发个mail,我手机就会收到短信通知了. 第二个步骤:通

  • python编写微信远程控制电脑的程序

    今天来分享一个"高大上"的技术--使用python编写一个可以用微信远程控制电脑的程序! 先来分析一下控制的具体流程: 我们使用微信给特定的邮箱发送一封邮件,其中包含了我们想要电脑执行的命令,然后电脑上的python程序获取到这封邮件,然后解析其中的命令,再交付给电脑执行.可以看出,这其中主要的技术难点就是获取邮件了!但是!这没有任何问题,大家看到我的上一篇博客<python 收发邮件>就可以了! 下面给出使用python收发邮件并执行邮件命令的代码. # -*- codi

  • Python3.4实现远程控制电脑开关机

    本文实例为大家分享了Python实现远程操控电脑的具体代码,供大家参考,具体内容如下 import poplib import sys import smtplib from email.mime.text import MIMEText import os from email.header import decode_header import email import time def check_email(): try: p = poplib.POP3('pop.163.com') p

  • python实现微信远程控制电脑

    首先,我们要先看看微信远程控制电脑的原理是什么呢? 我们可以利用Python的标准库控制本机电脑,然后要实现远程的话,我们可以把电子邮件作为远程控制的渠道,我们用Python自动登录邮箱检测邮件,当我们发送关机指令给这个邮箱的时候,若Python检测到相关的指令,那么Python直接发送本机的相关命令. 下面来分析一下该项目: 1.需求分析 1.范围:用Python开发一个远程操控电脑的项目. 2.总体要求: 2.1 总体功能要求:能够通过该软件远程控制该软件所在的电脑的重启或关机操作. 2.2

  • Python实现利用163邮箱远程关电脑脚本

    学了一个礼拜Python之后写的,代码很粗糙,只是为了完成利用163邮箱远程关电脑功能.直接把代码发上来吧.要执行的话得先安装一些模块,看import语句. 十月初写的,写完这个之后就没怎么写python了,忘得厉害. 本来想从mail.163.com模拟登录的,但这个网页提交按钮是个, 有点复杂,搞了几个小时搞不定. 我就绕了一下,从http://reg.163.com/logins.jsp 登录.这个页面登录会被拦截,还是到不了邮箱.但确实是登录成功,我们能得到一个登录认证. 再访问http

  • python 模拟登陆163邮箱

    import time from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.support.ui import WebDriverWait def login(): acount_num = input('请输入账号:\n'

  • laravel5.4利用163邮箱发送邮件的步骤详解

    前言 其实发送邮箱其实不难,不如说挺简单的,本文将详细介绍关于laravel5.4用163邮箱发送邮件的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 一.首先还是现在163注册一个账号并且设置如下图 授权码很重要的,请好好记住,待会在laravel的.env中要配置到的-- 二.如果以上你都做完了,那接下来就是配置.env了 MAIL_DRIVER=smtp MAIL_HOST=smtp.163.com MAIL_PORT=465 MAIL_USERNAME=你的账

  • python+selenium实现163邮箱自动登陆的方法

    本文介绍了 让我们先来预览一下代码运行效果吧: 首先分析163邮箱登陆页面的网页结构(按F12或单击鼠标右键选择审查元素) 1.定位到登陆框(注意登录框是一个iframe,如果不定位到iframe的话是无法找到之后的邮箱地址框和密码输入框的) 2.定位到邮箱地址框(name='email') 3.定位到密码输入框(name='password') 4.定位到登陆按钮(id='dologin') 5.分析完毕,现在就可以写代码实现163邮箱的自动登陆啦(附有代码的详细解析!) #coding:ut

  • python利用paramiko连接远程服务器执行命令的方法

    python中的paramiko模块是用来实现ssh连接到远程服务器上的库,在进行连接的时候,可以用来执行命令,也可以用来上传文件. 1.得到一个连接的对象 在进行连接的时候,可以使用如下的代码: def connect(host): 'this is use the paramiko connect the host,return conn' ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddP

  • Python利用QQ邮箱发送邮件的实现方法(分享)

    废话不多说,直接上代码 Python2.7 #!/usr/bin/env python2.7 # -*- coding=utf-8 -*- import smtplib from email.mime.text import MIMEText _user = "648613081@qq.com" _pwd = "这里改成你的授权码" _to = "648613081@qq.com" msg = MIMEText("this is a e

  • python paramiko利用sftp上传目录到远程的实例

    网上大部分都是上传文件,于是个人参照网上一些博客的内容,写了一个把windows上目录上传到远程linux的一个小程序. 下面是代码: class ExportPrepare(object): def __init__(self): pass def sftp_con(self): t = paramiko.Transport((self.ip, self.port)) t.connect(username=self.username, password=self.password) retur

  • Python如何利用IMAP实现邮箱客户端功能

    目录 概述 什么是IMAP? IMAP和POP有什么区别? 如何设置IMAP服务的SSL加密方式? 涉及知识点 示例效果图 核心代码 邮箱设置 总结 概述 在日常工作生活中,都是利用个人或公司的邮箱客户端进行收发邮件,那么如何打造一款属于自己的邮箱客户端呢?本文以一个简单的小例子,简述如何通过Pyhton的imaplib和email两大模块,实现邮件的接收并展示,仅供学习分享使用,如有不足之处,还请指正. 什么是IMAP? IMAP,即Internet Message Access Protoc

  • Python利用pywin32实现自动操作电脑

    目录 1. 简介 2. 示例代码 3. 效果图 4. 代码解释 5. 常见问题 1. 简介 在windows系统上,重复性的操作可以用Python脚本来完成,其中常用的模块是win32gui.win32con.win32api,要使用这三个模块需要先安装pywin32.在cmd中输入如下命令,即可安装pywin32: pip install pywin32 这三个模块作用如下: win32gui:模块定义了Windows下关于图形操作的API,如查找窗口句柄的函数FindWindow和FindW

  • ThinkPHP3.2利用QQ邮箱/163邮箱通过PHPMailer发送邮件的方法

    前言 我之前一直使用163邮箱发送需要处理的文件,但是如果操作过于频繁[或者有别的问题],会导致发送失败,相反现在用QQ的貌似还没出现过类似情况,不过QQ邮箱配置和163有一丢丢不一样,我还是贴一下,怕朋友们踩到坑,下面话不多说了,来一起看看详细的介绍吧. PHPMailer的优点: 可运行在任何平台之上 支持SMTP验证 发送邮时指定多个收件人,抄送地址,暗送地址和回复地址:注:添加抄送.暗送仅win平台下smtp方式支持 支持多种邮件编码包括:8bit,base64,binary和quote

随机推荐