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的Tkinter编写登陆注册界面
Jun 30 Python
解决Pycharm无法import自己安装的第三方module问题
May 18 Python
python opencv人脸检测提取及保存方法
Aug 03 Python
python微信好友数据分析详解
Nov 19 Python
pandas使用apply多列生成一列数据的实例
Nov 28 Python
pycharm配置当鼠标悬停时快速提示方法参数
Jul 31 Python
python处理RSTP视频流过程解析
Jan 11 Python
如何使用repr调试python程序
Feb 28 Python
解决jupyter notebook 前面书写后面内容消失的问题
Apr 13 Python
Python实现打包成库供别的模块调用
Jul 13 Python
python 爬虫网页登陆的简单实现
Nov 30 Python
pandas进行数据输入和输出的方法详解
Mar 23 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
Windows下IIS6/Apache2.2.4+MySQL5.2+PHP5.2.1安装配置方法
2007/05/03 PHP
PHP表单数据写入MySQL数据库的代码
2016/05/31 PHP
javascript 面向对象编程基础:继承
2009/08/21 Javascript
关于jquery动态增减控件的一些想法和小插件
2010/08/01 Javascript
JavaScript.The.Good.Parts阅读笔记(一)假值与===运算符
2010/11/16 Javascript
JS常见问题整理(持续更新)
2013/08/06 Javascript
js控制分页打印、打印分页示例
2014/02/08 Javascript
JS制作简单的三级联动
2015/03/18 Javascript
js实现的牛顿摆效果
2015/03/31 Javascript
javascript下使用Promise封装FileReader
2016/02/19 Javascript
Highcharts 多个Y轴动态刷新数据的实现代码
2016/05/28 Javascript
Javascript实现跨域后台设置拦截的方法详解
2017/08/04 Javascript
使用jQuery实现鼠标点击左右按钮滑动切换
2017/08/04 jQuery
element ui里dialog关闭后清除验证条件方法
2018/02/26 Javascript
Angular 组件之间的交互的示例代码
2018/03/24 Javascript
全站最详细的Vuex教程
2018/04/13 Javascript
JavaScript树的深度优先遍历和广度优先遍历算法示例
2018/07/30 Javascript
Element 默认勾选表格 toggleRowSelection的实现
2019/09/04 Javascript
解决Vue + Echarts 使用markLine标线(precision精度问题)
2020/07/20 Javascript
python调用java的Webservice示例
2014/03/10 Python
Python实现二分查找算法实例
2015/05/26 Python
Python3实现发送QQ邮件功能(文本)
2017/12/15 Python
Python实现嵌套列表去重方法示例
2017/12/28 Python
Python使用pyh生成HTML文档的方法示例
2018/03/10 Python
python统计字母、空格、数字等字符个数的实例
2018/06/29 Python
python中的decorator的作用详解
2018/07/26 Python
python将处理好的图像保存到指定目录下的方法
2019/01/10 Python
详解python执行shell脚本创建用户及相关操作
2019/04/11 Python
python中的Elasticsearch操作汇总
2019/10/30 Python
win10下python2和python3共存问题解决方法
2019/12/23 Python
详解pytorch tensor和ndarray转换相关总结
2020/09/03 Python
建筑施工员岗位职责
2013/11/26 职场文书
领导党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
大连星海广场导游词
2015/02/10 职场文书
工作犯错保证书
2015/05/11 职场文书
优质服务标语口号
2015/12/26 职场文书