人人影视自动签到Python脚本

# -*- coding: utf-8 -*-

import urllib
import urllib2
import cookielib
import re
import zlib


LOGIN_URL = r'http://www.zimuzu.tv/User/Login/ajaxLogin'
QIANDAO_URL = r'http://www.zimuzu.tv/user/sign'

class Zimuzu(object):
    def __init__(self):
        self.operate = ''  # response的对象(不含read
        self.cj = cookielib.CookieJar()
        self.opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(self.cj))
        urllib2.install_opener(self.opener)

    # 解压收到的gzip数据
    def unzipData(self, response):
        content = response.read()
        gzipped = response.headers.get('Content-Encoding')
        if gzipped:
            html = zlib.decompress(content, 16 + zlib.MAX_WBITS)
        else:
            html = content

        return html

    def login(self, username, password):
        postdata = {
                         'account': username,
                         'password': password,
                         'remember': 1,
                         'url_back': r'http://www.zimuzu.tv/',
        }
        login_success_pattern = re.compile(r'"info":"(.+?)"')

        # 取得登录成功/失败的提示信息
        self.operate = self._get_response(LOGIN_URL, postdata, isAjax=True, refererurl=r'http://www.zimuzu.tv/user/login')
        login_tip_page = self.unzipData(self.operate)
        login_success_info = login_success_pattern.search(login_tip_page)

        # 显示登录成功/失败信息
        if login_success_info:
            print login_success_info.group(1).decode('unicode_escape')
            return True
        else:
            print u'无法获取登录状态'

        return False

    def qianddao(self):
        self.operate = self._get_response(QIANDAO_URL)
        qiandao_page = self.unzipData(self.operate)
        a = 5

    def _get_response(self, url, data = None, refererurl=None, isAjax=False):
        if data is not None:
            req = urllib2.Request(url, urllib.urlencode(data))
        else:
            req = urllib2.Request(url)

        headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko',
            'Accept': 'text/html, application/xhtml+xml, image/jxr, */*',
            'Accept-Encoding': 'gzip, deflate',
            'Accept-Language': 'zh-CN',
            'Connection':'close',
            #'Referer':None
        }
        header = []
        for key, value in headers.items():
            elem = (key, value)
            header.append(elem)

        if isAjax:
            header.append(('X-Requested-With', 'XMLHttpRequest'))

        if refererurl != None:
            header.append(('Referer', refererurl))

        self.opener.addheaders = header
        response = self.opener.open(req)
        return response

if __name__ == '__main__':
    myzimuzu = Zimuzu.Zimuzu()
    myzimuzu.login('用户名', '密码')
    myzimuzu.qianddao()
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值