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编程中的反模式实例分析
Dec 08 Python
python获取当前日期和时间的方法
Apr 30 Python
关于Python如何避免循环导入问题详解
Sep 14 Python
解决Python获取字典dict中不存在的值时出错问题
Oct 17 Python
详解python 3.6 安装json 模块(simplejson)
Apr 02 Python
感知器基础原理及python实现过程详解
Sep 30 Python
Python 取numpy数组的某几行某几列方法
Oct 24 Python
python 爬取马蜂窝景点翻页文字评论的实现
Jan 20 Python
python解释器安装教程的方法步骤
Jul 02 Python
Python爬虫之爬取二手房信息
Apr 27 Python
Python入门学习之类的相关知识总结
May 25 Python
Python实现简单得递归下降Parser
May 02 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迭代器实现斐波纳契数列的函数
2013/11/12 PHP
php递归创建目录的方法
2015/02/02 PHP
Composer设置忽略版本匹配的方法
2016/04/27 PHP
php类自动装载、链式操作、魔术方法实现代码
2017/07/23 PHP
php命名空间设计思想、用法与缺点分析
2019/07/17 PHP
PHP实现腾讯短网址生成api接口实例
2020/12/08 PHP
Package.js  现代化的JavaScript项目make工具
2012/05/23 Javascript
通过JS自动隐藏手机浏览器的地址栏实现原理与代码
2013/01/02 Javascript
Javascript事件实例详解
2013/11/06 Javascript
简单的JavaScript互斥锁分享
2014/02/02 Javascript
js replace替换所有匹配的字符串
2014/02/13 Javascript
jQuery实现级联菜单效果(仿淘宝首页菜单动画)
2014/04/10 Javascript
jquery模拟LCD 时钟的html文件源代码
2014/06/16 Javascript
JQuery中的html()、text()、val()区别示例介绍
2014/09/01 Javascript
jQuery中queue()方法用法实例
2014/12/29 Javascript
javascript文本框内输入文字倒计数的方法
2015/02/24 Javascript
JS获取表格内指定单元格html内容的方法
2015/03/31 Javascript
JavaScript实现数据类型的相互转换
2016/03/06 Javascript
用JavaScript动态建立或增加CSS样式表的实现方法
2016/05/20 Javascript
vue.js父组件使用外部对象的方法示例
2017/04/25 Javascript
利用JavaScript对中文(汉字)进行排序实例详解
2017/06/18 Javascript
使用js在layui中实现上传图片压缩
2019/06/18 Javascript
jQuery HTML设置内容和属性操作实例分析
2020/05/20 jQuery
js实现简易ATM功能
2020/10/27 Javascript
Java编程迭代地删除文件夹及其下的所有文件实例
2018/02/10 Python
python XlsxWriter模块创建aexcel表格的实例讲解
2018/05/03 Python
Python中的异常处理try/except/finally/raise用法分析
2019/02/28 Python
python简单实现矩阵的乘,加,转置和逆运算示例
2019/07/10 Python
Python绘制股票移动均线的实例
2019/08/24 Python
如何判断计算机可能已经中马
2013/03/22 面试题
什么是虚拟内存?虚拟内存有什么优势?
2012/02/19 面试题
白血病捐款倡议书
2014/05/14 职场文书
集中采购方案
2014/06/10 职场文书
2016元旦主持人经典开场白台词
2015/12/03 职场文书
Python中Permission denied的解决方案
2021/04/02 Python
numpy array找出符合条件的数并赋值的示例代码
2022/06/01 Python