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标准库之多进程(multiprocessing包)介绍
Nov 25 Python
Python列表生成式与生成器操作示例
Aug 01 Python
python 含子图的gif生成时内存溢出的方法
Jul 07 Python
python tkinter实现屏保程序
Jul 30 Python
django 自定义过滤器(filter)处理较为复杂的变量方法
Aug 12 Python
python rsa实现数据加密和解密、签名加密和验签功能
Sep 18 Python
TensorFlow实现checkpoint文件转换为pb文件
Feb 10 Python
python pptx复制指定页的ppt教程
Feb 14 Python
基于python计算并显示日间、星期客流高峰
May 07 Python
python/golang 删除链表中的元素
Sep 14 Python
selenium.webdriver中add_argument方法常用参数表
Apr 08 Python
Python基础学习之奇异的GUI对话框
May 27 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 xml-rpc远程调用
2008/12/19 PHP
PHP中用hash实现的数组
2011/07/17 PHP
基于PHP文件操作的详细诠释
2013/06/21 PHP
php生成xml时添加CDATA标签的方法
2014/10/17 PHP
php线性表的入栈与出栈实例分析
2015/06/12 PHP
[原创]php求圆周率的简单实现方法
2016/05/30 PHP
asp函数split()对应php函数explode()
2019/02/27 PHP
php7连接MySQL实现简易查询程序的方法
2020/10/13 PHP
IE下js调试工具Companion.JS
2010/10/15 Javascript
基于jQuery的动态表格插件
2011/03/28 Javascript
jquery动态添加删除div 具体实现
2013/07/20 Javascript
onmouseover和onmouseout的一些问题思考
2013/08/14 Javascript
jQuery中:hidden选择器用法实例
2014/12/30 Javascript
不能不知道的10个angularjs英文学习网站
2016/03/23 Javascript
jQuery解析与处理服务器端返回xml格式数据的方法详解
2016/07/04 Javascript
jQuery+json实现动态创建复杂表格table的方法
2016/10/25 Javascript
jquery dataTable 获取某行数据
2017/05/05 jQuery
jQuery动态添加元素无法触发绑定事件的解决方法分析
2018/01/02 jQuery
javascript原生封装一个淡入淡出效果的函数测试实例代码
2018/03/19 Javascript
浅谈JavaScript面向对象--继承
2019/03/20 Javascript
nest.js 使用express需要提供多个静态目录的操作方法
2019/10/24 Javascript
在vue中阻止浏览器后退的实例
2019/11/06 Javascript
Odoo中如何生成唯一不重复的序列号详解
2018/02/10 Python
python3.6的venv模块使用详解
2018/08/01 Python
详解Python进阶之切片的误区与高级用法
2018/12/24 Python
如何使用Python实现自动化水军评论
2019/06/26 Python
利用python numpy+matplotlib绘制股票k线图的方法
2019/06/26 Python
Django中使用MySQL5.5的教程
2019/12/18 Python
Django models filter筛选条件详解
2020/03/16 Python
python和go语言的区别是什么
2020/07/20 Python
美国婚礼装饰和活动用品批发供应商:Event Decor Direct
2018/10/12 全球购物
建设单位项目负责人任命书
2014/06/06 职场文书
现货白银电话营销话术
2015/05/29 职场文书
教师师德工作总结2015
2015/07/22 职场文书
大学生志愿者心得体会
2016/01/15 职场文书
党组织关系的介绍信模板
2019/06/21 职场文书