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 相关文章推荐
Python3 适合初学者学习的银行账户登录系统实例
Aug 08 Python
python  创建一个保留重复值的列表的补码
Oct 15 Python
对pyqt5之menu和action的使用详解
Jun 20 Python
程序员的七夕用30行代码让Python化身表白神器
Aug 07 Python
解决Atom安装Hydrogen无法运行python3的问题
Aug 28 Python
使用Python三角函数公式计算三角形的夹角案例
Apr 15 Python
python文件编写好后如何实践
Jul 07 Python
python中的django是做什么的
Jul 31 Python
python+requests实现接口测试的完整步骤
Oct 27 Python
最新PyCharm 2020.2.3永久激活码(亲测有效)
Nov 26 Python
Python 如何安装Selenium
May 06 Python
Python作用域和名称空间的详细介绍
Apr 13 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
Laravel中七个非常有用但很少人知道的Carbon方法
2017/09/21 PHP
获取div编辑框,textarea,input text的光标位置 兼容IE,FF和Chrome的方法介绍
2012/11/08 Javascript
用示例说明filter()与find()的用法以及children()与find()的区别分析
2013/04/26 Javascript
ie9 提示'console' 未定义问题的解决方法
2014/03/20 Javascript
js数组方法扩展实现数组统计函数
2014/04/09 Javascript
jQuery结合CSS制作漂亮的select下拉菜单
2015/05/03 Javascript
JavaScript 轮播图和自定义滚动条配合鼠标滚轮分享代码贴
2016/10/28 Javascript
结合mint-ui移动端下拉加载实践方法总结
2017/11/08 Javascript
仿ElementUI实现一个Form表单的实现代码
2019/04/23 Javascript
JS实现点击发送验证码 xx秒后重新发送功能
2019/07/30 Javascript
vue 限制input只能输入正数的操作
2020/08/05 Javascript
使用Mock.js生成前端测试数据
2020/12/13 Javascript
[04:11]DOTA2上海特级锦标赛主赛事首日TOP10
2016/03/03 DOTA
[02:16]深扒TI7聊天轮盘语音出处2
2017/05/11 DOTA
PyQt5每天必学之滑块控件QSlider
2018/04/20 Python
手把手教你如何安装Pycharm(详细图文教程)
2018/11/28 Python
Python线程池模块ThreadPoolExecutor用法分析
2018/12/28 Python
带你认识Django
2019/01/15 Python
pandas dataframe添加表格框线输出的方法
2019/02/08 Python
搞清楚 Python traceback的具体使用方法
2019/05/13 Python
Python:Numpy 求平均向量的实例
2019/06/29 Python
详解Python并发编程之创建多线程的几种方法
2019/08/23 Python
通过字符串导入 Python 模块的方法详解
2019/10/27 Python
利用Python实现斐波那契数列的方法实例
2020/07/26 Python
html+css3实现的登录界面
2020/12/09 HTML / CSS
美国战术品牌:5.11 Tactical
2019/05/01 全球购物
会计实习期自我鉴定
2013/10/06 职场文书
大学生职业规划前言模板
2013/12/27 职场文书
《听鱼说话》教学反思
2014/02/15 职场文书
学校宣传标语
2014/06/18 职场文书
课外活动实习计划
2015/01/19 职场文书
离婚协议书的范本
2015/01/27 职场文书
黄石寨导游词
2015/02/05 职场文书
消夏晚会主持词
2015/06/30 职场文书
忠诚教育学习心得体会
2016/01/23 职场文书
MySQL读取JSON转换的方式
2022/03/18 MySQL