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实现简单拆分PDF文件的方法
Jul 30 Python
利用python3随机生成中文字符的实现方法
Nov 24 Python
python如何压缩新文件到已有ZIP文件
Mar 14 Python
python fuzzywuzzy模块模糊字符串匹配详细用法
Aug 29 Python
python 怎样将dataframe中的字符串日期转化为日期的方法
Sep 26 Python
Python 获取项目根路径的代码
Sep 27 Python
Python 使用type来定义类的实现
Nov 19 Python
selenium+python实现自动登陆QQ邮箱并发送邮件功能
Dec 13 Python
使用豆瓣源来安装python中的第三方库方法
Jan 26 Python
Python必备技巧之字符数据操作详解
Mar 23 Python
Python OpenCV形态学运算示例详解
Apr 07 Python
python读取并查看npz/npy文件数据以及数据显示方法
Apr 14 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
ftp类(example.php)
2006/10/09 PHP
ecshop 批量上传(加入自定义属性)
2012/03/20 PHP
PHP中的output_buffering详细介绍
2014/09/27 PHP
PHP输出九九乘法表代码实例
2015/03/27 PHP
phpStudy2016 配置多个域名期间遇到的问题小结
2017/10/19 PHP
JavaScript入门学习书籍推荐
2008/06/12 Javascript
JavaScript 变量命名规则
2009/09/23 Javascript
用js实现判断当前网址的来路如果不是指定的来路就跳转到指定页面
2011/05/02 Javascript
javascript之典型高阶函数应用介绍二
2013/01/10 Javascript
js常用数组操作方法简明总结
2014/06/20 Javascript
jquery实现的淡入淡出下拉菜单效果
2015/08/25 Javascript
深入理解AngularJS中的ng-bind-html指令和$sce服务
2016/09/08 Javascript
JavaScript每天必学之基础知识
2016/09/17 Javascript
js 判断登录界面的账号密码是否为空
2017/02/08 Javascript
创建echart多个联动的示例代码
2018/11/23 Javascript
vue将后台数据时间戳转换成日期格式
2019/07/31 Javascript
浅谈vue限制文本框输入数字的正确姿势
2019/09/02 Javascript
原生JS实现多条件筛选
2020/08/19 Javascript
JavaScript中的Proxy对象
2020/11/27 Javascript
python判断字符串是否纯数字的方法
2014/11/19 Python
python中随机函数random用法实例
2015/04/30 Python
python re模块的高级用法详解
2018/06/06 Python
Python实现的ftp服务器功能详解【附源码下载】
2019/06/26 Python
django数据库自动重连的方法实例
2019/07/21 Python
PyCharm2019安装教程及其使用(图文教程)
2019/09/29 Python
Python tornado上传文件的功能
2020/03/26 Python
修复iPhone的safari浏览器上submit按钮圆角bug
2012/12/24 HTML / CSS
美国瑜伽品牌:Gaiam
2017/10/31 全球购物
如果重写了对象的equals()方法,需要考虑什么
2014/11/02 面试题
银行门卫岗位职责
2013/12/29 职场文书
我有一个梦想演讲稿
2014/05/05 职场文书
产品发布会策划方案
2014/05/12 职场文书
委托书的写法
2014/09/16 职场文书
民事调解书范文
2015/05/20 职场文书
导游词之无锡东林书院
2019/12/11 职场文书
SQL写法--行行比较
2021/08/23 SQL Server