python3 实现的人人影视网站自动签到


Posted in Python onJune 19, 2016

这是一个自动化程度较高的程序,运行本程序后会从chrome中读取cookies用于登录人人影视签到,
并且会自动添加一个windows 任务计划,这个任务计划每天下午两点会执行本程序进行签到。

sys.executable == 'C:\\Python34\\pythonw.exe'
使用pythonw 执行.py 不会弹出命令行窗口。

以system权限执行的程序不能访问网络,/ru 参数后的值改为administrators或者users

import os
import sys
import subprocess
import sqlite3
import time
import requests
from win32.win32crypt import CryptUnprotectData

def getcookiefromchrome(host='.oschina.net'):
  cookiepath=os.environ['LOCALAPPDATA']+r"\Google\Chrome\User Data\Default\Cookies"
  sql = "select host_key,name,encrypted_value from cookies where host_key='%s'" % host
  with sqlite3.connect(cookiepath) as conn:
    cu = conn.cursor()    
    cookies = {name:CryptUnprotectData(encrypted_value)[1].decode() for host_key,name,encrypted_value in cu.execute(sql).fetchall()}
    print(cookies)
    return cookies

#运行环境windows 2012 server python3.4 x64 pywin32 chrome 50
  """
  #windows 版chrome Cookies文件为一个sqlite3数据库,
  #chrome 33以后的版本的cookies的value都加密存在encrypted_value中,
  #需要使用win32crypt的CryptUnprotectData 对encrypted_value进行解密,
  win32crypt是pywin32的一部分,需要安装最新的pywin32模块
  """
#getcookiefromchrome()
#getcookiefromchrome('.baidu.com')

def sign():
  zmcookie = getcookiefromchrome('.zimuzu.tv')
  url = 'http://www.zimuzu.tv/user/login/getCurUserTopInfo'
  requests.get(url,cookies=zmcookie).text
  rs = requests.get('http://www.zimuzu.tv/user/sign',cookies=zmcookie).text.split('\n')
  info = [r for r in rs if "三次登录时间" in r]
  time_=time.strftime("%c")
  with open("zmlog.txt","a+") as f:
    f.write(time_ + "   :" )
    f.writelines(info)
    f.write("\n\n")

tn='zmautosign'

def run(ar=sys.argv):
  if len(ar)==1:
    sign()
    if not intask():
      addtask() #添加任务计划

  elif len(ar)>1 and ar[1].lower()=="-task":
    sign()

def intask(tn=tn,ar=sys.argv[0]):
  txt=subprocess.getoutput('schtasks /query |find "%s"' % tn)
  if tn in txt:
    return 1
  else:
    return 0

def addtask(tn=tn,ar=sys.argv[0]):
  cmd='schtasks /create /F /ru Administrators /tn "%s" /sc daily /st 14:00:00 /tr "%s %s -task"' % (tn,sys.executable,ar)
  subprocess.call(cmd,shell=1)

os.chdir(sys.path[0])
run()
Python 相关文章推荐
Python中使用PDB库调试程序
Apr 05 Python
python使用pil生成图片验证码的方法
May 08 Python
python实现DES加密解密方法实例详解
Jun 30 Python
python文件特定行插入和替换实例详解
Jul 12 Python
Python自定义函数定义,参数,调用代码解析
Dec 27 Python
Python中list查询及所需时间计算操作示例
Jun 21 Python
Python之用户输入的实例
Jun 22 Python
使用python opencv对目录下图片进行去重的方法
Jan 12 Python
python爬虫之自制英汉字典
Jun 24 Python
Python分析彩票记录并预测中奖号码过程详解
Jul 09 Python
python 三元运算符使用解析
Sep 16 Python
如何用六步教会你使用python爬虫爬取数据
Apr 06 Python
python3实现暴力穷举博客园密码
Jun 19 #Python
在阿里云服务器上配置CentOS+Nginx+Python+Flask环境
Jun 18 #Python
Python中使用装饰器来优化尾递归的示例
Jun 18 #Python
举例讲解Python面向对象编程中类的继承
Jun 17 #Python
浅谈python为什么不需要三目运算符和switch
Jun 17 #Python
python运行时间的几种方法
Jun 17 #Python
从局部变量和全局变量开始全面解析Python中变量的作用域
Jun 16 #Python
You might like
PHP与MySQL开发中页面乱码的产生与解决
2008/03/27 PHP
php自动获取字符串编码函数mb_detect_encoding
2011/05/31 PHP
通过5个php实例细致说明传值与传引用的区别
2012/08/08 PHP
PHP实现的基于单向链表解决约瑟夫环问题示例
2017/09/30 PHP
phpfpm的作用和用法
2019/10/10 PHP
Centos7.7 64位利用本地完整安装包安装lnmp/lamp套件教程
2021/03/09 Servers
利用javascript/jquery对上传文件格式过滤的方法
2009/07/25 Javascript
关于js中window.location.href,location.href,parent.location.href,top.location.href的用法与区别
2010/10/18 Javascript
关于js datetime的那点事
2011/11/15 Javascript
js修改input的type属性及浏览器兼容问题探讨与解决
2013/01/23 Javascript
javascript实现tabs选项卡切换效果(自写原生js)
2013/03/19 Javascript
javascript读写json示例
2014/04/11 Javascript
Jquery对select的增、删、改、查操作
2015/02/06 Javascript
在父页面得到zTree已选中的节点的方法
2015/02/12 Javascript
js仿QQ中对联系人向左滑动、滑出删除按钮的操作
2016/04/07 Javascript
bootstrap3 兼容IE8浏览器!
2016/05/02 Javascript
使用Bootstrap打造特色进度条效果
2017/05/02 Javascript
谈谈JS中的!!
2017/12/07 Javascript
jquery+css3实现熊猫tv导航代码分享
2018/02/12 jQuery
vue-cli webpack模板项目搭建及打包时路径问题的解决方法
2018/02/26 Javascript
原生JS实现的雪花飘落动画效果
2018/05/03 Javascript
Vue自定义组件双向绑定实现原理及方法详解
2020/09/03 Javascript
python解决方案:WindowsError: [Error 2]
2016/08/28 Python
Django项目中用JS实现加载子页面并传值的方法
2018/05/28 Python
Python整数对象实现原理详解
2019/07/01 Python
django做form表单的数据验证过程详解
2019/07/26 Python
python3 mmh3安装及使用方法
2019/10/09 Python
python如何导入依赖包
2020/07/13 Python
python实现图像高斯金字塔的示例代码
2020/12/11 Python
用python制作个音乐下载器
2021/01/30 Python
生产主管岗位职责
2013/11/10 职场文书
学校安全管理责任书
2014/07/23 职场文书
支行行长竞聘报告
2014/11/06 职场文书
学校施工安全责任书
2015/01/29 职场文书
Mysql效率优化定位较低sql的两种方式
2021/05/26 MySQL
SQL中的连接查询详解
2022/06/21 SQL Server