找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 39356|回复: 18

[原创代码] python3+任务计划实现的人人影视网站自动签到

[复制链接]
发表于 2016-6-8 10:15:07 | 显示全部楼层 |阅读模式
python3+任务计划实现的人人影视网站自动签到
  1. """
  2. python3+任务计划实现的人人影视网站自动签到
  3. 2016年6月8日 09:52:28  codegay

  4. 这是一个自动化程度较高的程序,运行本程序后会从chrome中读取cookies用于登录人人影视签到,
  5. 并且会自动添加一个windows 任务计划,这个任务计划每天下午两点会执行本程序进行签到。

  6. sys.executable == 'C:\\Python34\\pythonw.exe'
  7. 使用pythonw 执行.py 不会弹出命令行窗口。

  8. 以system权限执行的程序不能访问网络,/ru 参数后的值改为administrators或者users

  9. """

  10. import os
  11. import sys
  12. import subprocess
  13. import sqlite3
  14. import time
  15. import requests
  16. from win32.win32crypt import CryptUnprotectData

  17. def getcookiefromchrome(host='.oschina.net'):
  18.     cookiepath=os.environ['LOCALAPPDATA']+r"\Google\Chrome\User Data\Default\Cookies"
  19.     sql = "select host_key,name,encrypted_value from cookies where host_key='%s'" % host
  20.     with sqlite3.connect(cookiepath) as conn:
  21.         cu = conn.cursor()        
  22.         cookies = {name:CryptUnprotectData(encrypted_value)[1].decode() for host_key,name,encrypted_value in cu.execute(sql).fetchall()}
  23.         print(cookies)
  24.         return cookies

  25. #运行环境windows 2012 server python3.4 x64 pywin32 chrome 50
  26.     """
  27.     #windows 版chrome Cookies文件为一个sqlite3数据库,
  28.     #chrome 33以后的版本的cookies的value都加密存在encrypted_value中,
  29.     #需要使用win32crypt的CryptUnprotectData 对encrypted_value进行解密,
  30.     win32crypt是pywin32的一部分,需要安装最新的pywin32模块
  31.     """
  32. #getcookiefromchrome()
  33. #getcookiefromchrome('.baidu.com')

  34. def sign():
  35.         zmcookie = getcookiefromchrome('.zimuzu.tv')
  36.         url = 'http://www.zimuzu.tv/user/login/getCurUserTopInfo'
  37.         requests.get(url,cookies=zmcookie).text
  38.         rs = requests.get('http://www.zimuzu.tv/user/sign',cookies=zmcookie).text.split('\n')
  39.         info = [r for r in rs if "三次登录时间" in r]
  40.         time_=time.strftime("%c")
  41.         with open("zmlog.txt","a+") as f:
  42.                 f.write(time_ + "     :" )
  43.                 f.writelines(info)
  44.                 f.write("\n\n")

  45. tn='zmautosign'
  46.        
  47. def run(ar=sys.argv):
  48.         if len(ar)==1:
  49.                 sign()
  50.                 if not intask():
  51.                         addtask() #添加任务计划
  52.                        
  53.         elif len(ar)>1 and ar[1].lower()=="-task":
  54.                 sign()
  55.        
  56. def intask(tn=tn,ar=sys.argv[0]):
  57.         txt=subprocess.getoutput('schtasks /query |find "%s"' % tn)
  58.         if tn in txt:
  59.                 return 1
  60.         else:
  61.                 return 0

  62. def addtask(tn=tn,ar=sys.argv[0]):
  63.         cmd='schtasks /create /F /ru Administrators /tn "%s" /sc daily /st 14:00:00 /tr "%s %s -task"' % (tn,sys.executable,ar)
  64.         subprocess.call(cmd,shell=1)
  65.        
  66. os.chdir(sys.path[0])
  67. run()
复制代码

评分

参与人数 1技术 +1 收起 理由
happy886rr + 1 1

查看全部评分

发表于 2016-6-8 11:12:46 | 显示全部楼层
windows 2012 server python3.4 x64 pywin32 chrome 50
意思是只能兼容chrome内核的浏览器?
 楼主| 发表于 2016-6-8 11:33:15 | 显示全部楼层
回复 2# happy886rr


    这是一个粗糙的示例代码。没有错误处理,容错检测。只是用来表明这套思路是完全可行的。
不同的浏览器cookies文件的格式可能不同,需要针对性的写解析代码。只要把cookies 的name value拼成python字典就行了。套路都是一样的。
 楼主| 发表于 2016-6-8 11:46:10 | 显示全部楼层
我刚上pypi找了一个,真的找到的了一个解析浏览器cookies的库。擦了。

https://pypi.python.org/pypi/browsercookie/0.6.1

上次我没找到,我以为还没有这样的库,等些时间我也写一个解析支持多平,浏览器cookie库。
 楼主| 发表于 2016-6-8 11:52:47 | 显示全部楼层
browsercookie 还不支持python3 不过代码很清晰:
https://bitbucket.org/richardpen ... r=file-view-default
 楼主| 发表于 2016-6-8 11:58:52 | 显示全部楼层
本帖最后由 codegay 于 2016-6-8 12:01 编辑

又顺路找到了 pycookiecheat
支持py3 作者没有windows 所以还不支持windows 。

https://github.com/n8henrie/pycookiecheat
发表于 2016-6-8 12:22:53 | 显示全部楼层
本帖最后由 happy886rr 于 2016-6-8 12:29 编辑

回复 6# codegay
我也安装了chrome可以使用。无意中发现小米公司创始人雷军20多年前写的汇编代码,http://yusi123.com/2944.html

  1. ;
  2. ; RI.ASM  Revision 2.12         [ July 12, 1994 ]
  3. Revision        equ     'V2.12 '
  4. ;
  5. ; **************************************************************************
  6. ; *                                                                        *
  7. ; *  RAMinit  Release 2.0                                                  *
  8. ; *  Copyright (c) 1989-1994 by Yellow Rose Software Co.                   *
  9. ; *  Written by Mr. Leijun                                                 *
  10. ; *                                                                        *
  11. ; *  Function:                                                             *
  12. ; *    Press HotKey to remove all TSR program after this program           *
  13. ; *                                                                        *
  14. ; **************************************************************************

  15. ; ..........................................................................省略2000行
复制代码
足足2000多行,雷军说他做了17年程序员,发现在金山做程序不行,才转行做手机。
话说,94年那会,还没什么高级语言,都是dos时代,那会有个人电脑的也没几家,那会李彦宏还在研究他的搜索引擎,那会科技大佬们都还未创业。
 楼主| 发表于 2016-6-8 16:45:02 | 显示全部楼层
回复 7# happy886rr


   
个人做网站的门槛,做程序的门槛越来越高了。
发表于 2016-6-8 17:24:48 | 显示全部楼层
回复 8# codegay
据说雷布斯汇编考试还得了满分,当时确实是顶尖的编程高手,他自述只用2年就修完大学全部课程。不过真正使他成名的并不是他的学识,而是小米手机的营销手段。
也就是说他之前几十年的软件生涯并不适合他,做手机才是他的归宿,当然他也模仿乔布斯模式。
 楼主| 发表于 2016-6-8 17:52:36 | 显示全部楼层
回复 9# happy886rr


    做手机之前已经很有名了。
发表于 2016-6-8 18:10:58 | 显示全部楼层
回复 10# codegay
但是之前的那点名气无法让其在IT界名垂青史。小米的神话才是其真正干的大事。话说京东的刘强东大学时更离谱他自学编程只是为了好找对象,他是真正从摆地摊发家的。
不过有个共同特性就是这些互联网大佬们都是在“非典”时期过后才高速发际的,包括淘宝。可能当时病毒的肆虐让人们不敢出门,互联网才被考虑用来做生意。
互联网时代正如电气时代一样,快要进入缓慢发展时期,下一个时代会是什么?下一个时代的大佬在哪?
 楼主| 发表于 2016-6-8 19:56:51 | 显示全部楼层
回复 11# happy886rr


    你不用chrome,那你之前都用的什么浏览器啊?
发表于 2016-6-8 20:24:23 | 显示全部楼层
本帖最后由 happy886rr 于 2016-6-8 20:25 编辑

回复 12# codegay
IE的忠实用户,自己修改的IE11,IE速度是慢,但是兼容性最好。chrome内核不是开源了吗,自己可以编译一个chrome浏览器。
 楼主| 发表于 2016-6-8 20:30:19 | 显示全部楼层
回复 13# happy886rr

    哦。我装了lastpass,IE11卡到不忍。
用IE你怎么翻墙?lantren?
发表于 2016-6-8 21:47:55 | 显示全部楼层
本帖最后由 happy886rr 于 2016-6-8 22:18 编辑

回复 14# codegay
偶尔修改一下hosts也能访问。英语太弱,遇到外文网站根本看不懂。

IE本来就比较慢,但是你会发现,IE很省CPU,用chrome几乎是70%的占用率。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 00:47 , Processed in 0.022947 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表