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中optionParser模块的使用方法实例教程
Aug 29 Python
Python导入txt数据到mysql的方法
Apr 08 Python
Python程序中用csv模块来操作csv文件的基本使用教程
Mar 03 Python
python学习入门细节知识点
Mar 29 Python
解决sublime+python3无法输出中文的问题
Dec 12 Python
python 通过麦克风录音 生成wav文件的方法
Jan 09 Python
python flask 如何修改默认端口号的方法步骤
Jul 12 Python
NumPy排序的实现
Jan 21 Python
python 密码学示例——凯撒密码的实现
Sep 21 Python
python开发一款翻译工具
Oct 10 Python
Python 中 sorted 如何自定义比较逻辑
Feb 02 Python
Django后端按照日期查询的方法教程
Feb 28 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
Terran建筑一览
2020/03/14 星际争霸
YII2框架中excel表格导出的方法详解
2017/07/21 PHP
python进程与线程小结实例分析
2018/11/11 PHP
div移动 输入框不能输入的问题
2009/11/19 Javascript
JavaScript高级程序设计 阅读笔记(十二) js内置对象Math
2012/08/14 Javascript
Jquery getJSON方法详细分析
2013/12/26 Javascript
javascript中的括号()用法小结
2014/04/14 Javascript
javascript原生和jquery库实现iframe自适应高度和宽度
2014/07/18 Javascript
javascript中Date对象的getDay方法使用指南
2014/12/22 Javascript
Spring mvc 接收json对象
2015/12/10 Javascript
Bootstrap项目实战之首页内容介绍(全)
2016/04/25 Javascript
使用jQuery中的wrap()函数操作HTML元素的教程
2016/05/24 Javascript
jquery.validate[.unobtrusive]和Bootstrap实现tooltip错误提示问题分析
2016/10/30 Javascript
JavaScript数组去重的6个方法
2017/01/21 Javascript
深入理解NodeJS 多进程和集群
2018/10/17 NodeJs
JS实现textarea通过换行或者回车把多行数字分割成数组并且去掉数组中空的值
2018/10/29 Javascript
记一次Vue.js混入mixin的使用(分权限管理页面)
2019/04/17 Javascript
vue项目创建步骤及路由router
2020/01/14 Javascript
微信小程序实现组件顶端固定或底端固定效果(不随滚动而滚动)
2020/04/09 Javascript
vue 验证两次输入的密码是否一致的方法示例
2020/09/29 Javascript
[47:53]DOTA2上海特级锦标赛主赛事日 - 1 败者组第一轮#2COL VS Spirit
2016/03/02 DOTA
python基本语法练习实例
2017/09/19 Python
用tensorflow搭建CNN的方法
2018/03/05 Python
使用Python爬了4400条淘宝商品数据,竟发现了这些“潜规则”
2018/03/23 Python
Python字符串逆序输出的实例讲解
2019/02/16 Python
Python中调用其他程序的方式详解
2019/08/06 Python
Tostadora意大利:定制T恤
2019/04/08 全球购物
英国PC组件和在线电脑商店:SCAN
2019/04/18 全球购物
印度领先的眼镜电子商务网站:Lenskart
2019/12/16 全球购物
德国消费电子产品购物网站:Guter Kauf
2020/09/15 全球购物
人力资源管理专业毕业生推荐信
2013/11/07 职场文书
管理科学大学生求职信
2013/11/13 职场文书
软件工程毕业生自荐信
2014/07/04 职场文书
反洗钱宣传活动总结
2014/08/26 职场文书
行政主管岗位职责范本
2015/04/09 职场文书
基于python的matplotlib制作双Y轴图
2021/04/20 Python