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实现Linux下守护进程的编写方法
Aug 22 Python
python获得两个数组交集、并集、差集的方法
Mar 27 Python
Python使用Windows API创建窗口示例【基于win32gui模块】
May 09 Python
numpy使用fromstring创建矩阵的实例
Jun 15 Python
Django实现跨域的2种方法
Jul 31 Python
Python 调用 Outlook 发送邮件过程解析
Aug 08 Python
Python利用for循环打印星号三角形的案例
Apr 12 Python
Jupyter notebook如何修改平台字体
May 13 Python
使用Python matplotlib作图时,设置横纵坐标轴数值以百分比(%)显示
May 16 Python
Selenium执行完毕未关闭chromedriver/geckodriver进程的解决办法(java版+python版)
Dec 07 Python
python 爬取华为应用市场评论
May 29 Python
pandas数值排序的实现实例
Jul 25 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
MayFish PHP的MVC架构的开发框架
2009/08/13 PHP
PHP 日志缩略名的创建函数代码
2010/05/26 PHP
PHP stristr() 函数(不区分大小写的字符串查找)
2010/06/03 PHP
PHP用星号隐藏部份用户名、身份证、IP、手机号等实例
2014/04/08 PHP
ThinkPHP表单自动提交验证实例教程
2014/07/18 PHP
php cookie工作原理与实例详解
2016/07/18 PHP
php类自动装载、链式操作、魔术方法实现代码
2017/07/23 PHP
不错的JS中变量相关的细节分析
2007/08/13 Javascript
Mootools 1.2 手风琴(Accordion)教程
2009/09/15 Javascript
javascript五图轮播切换实用版
2012/08/17 Javascript
JS链式调用的实现方法
2013/03/07 Javascript
js如何获取file控件的完整路径具体实现代码
2013/05/15 Javascript
javascript使用smipleChart实现简单图表
2015/01/02 Javascript
基于JavaScript操作DOM常用的API小结
2015/12/01 Javascript
js实现上传图片及时预览
2016/05/07 Javascript
Angularjs 实现分页功能及示例代码
2016/09/14 Javascript
html、css和jquery相结合实现简单的进度条效果实例代码
2016/10/24 Javascript
Bootstrap栅格系统学习笔记
2016/11/25 Javascript
JS常用倒计时代码实例总结
2017/02/07 Javascript
浅谈vue项目如何打包扔向服务器
2018/05/08 Javascript
JS实现百度网盘任意文件强制下载功能
2018/08/31 Javascript
jQuery中getJSON跨域原理的深入讲解
2020/09/02 jQuery
python判断给定的字符串是否是有效日期的方法
2015/05/13 Python
使用python 3实现发送邮件功能
2018/06/15 Python
在Python 中同一个类两个函数间变量的调用方法
2019/01/31 Python
Python彻底删除文件夹及其子文件方式
2019/12/23 Python
python中使用you-get库批量在线下载bilibili视频的教程
2020/03/10 Python
python中round函数保留两位小数的方法
2020/12/04 Python
Ralph Lauren意大利官方网站:时尚界最负盛名的品牌之一
2018/10/18 全球购物
P D PAOLA法国官网:西班牙著名的珠宝首饰品牌
2020/02/15 全球购物
数字化校园建设方案
2014/05/03 职场文书
收款授权委托书
2014/10/02 职场文书
2014年业务员工作总结范文
2014/11/17 职场文书
2015年教师节演讲稿范文
2015/03/19 职场文书
新闻稿格式范文
2015/07/18 职场文书
门面租赁合同范文
2019/08/06 职场文书