Ejemplo n.º 1
0
    def is_signed(self):
        r = self.session.get(self.index_url)
        signed = False

        if r.ok:
            daka_pattern = r'dakaed:\s*(\w+)'
            days_pattern = r'dakaNumber:\s*(\d+)'

            try:
                signed = ('true' == util.find_value(daka_pattern, r.text))
                sign_days = int(util.find_value(days_pattern, r.text))
                self.logger.info('今日已打卡: {}; 打卡天数: {}'.format(
                    signed, sign_days))

            except Exception as e:
                self.logger.error('返回数据结构可能有变化, 获取打卡数据失败: {}'.format(e))
                traceback.print_exc()

            if not signed:
                # no need to parse if already signed
                self.daka_act_type = self.get_daka_act_type(r.text)

        else:
            self.logger.error('打卡失败: Status code: {}; Reason: {}'.format(
                r.status_code, r.reason))

        return signed
Ejemplo n.º 2
0
Archivo: ast.py Proyecto: ssinai1/rbfx
    def __init__(self, parser, parent, json_node):
        def not_comments(n):
            return not n['kind'].endswith('Comment')

        self.value = find_value(json_node)
        self.is_primitive_value = self.value is not None
        if not self.value:
            self.value = parser.read_from_source(json_node['range']['end'])
Ejemplo n.º 3
0
    def get_daka_act_type(self, html):
        # e.g: data:{'dakaActType':'JD_APP_V7'},
        pattern = r"""dakaActType['"]:\s*['"](.*?)['"]"""
        daka_act_type = util.find_value(pattern, html)

        if not daka_act_type:
            self.logger.warning('dakaActType 参数未找到, 页面可能有变化, 打卡可能不成功.')

        return daka_act_type
Ejemplo n.º 4
0
    def _get_token(self):
        html = self.session.get(self.index_url).text
        pattern = r'pageConfig.token="(\d+)"'
        token = util.find_value(pattern, html)

        if not token:
            raise Exception('token 未找到.')

        return token
Ejemplo n.º 5
0
    def is_signed(self):
        r = self.session.get(self.index_url)
        signed = False

        if r.ok:
            sign_pattern = r'dakaed:\s*(\w+)'
            days_pattern = r'dakaNumber:\s*(\d+)'

            try:
                signed = ('true' == util.find_value(sign_pattern, r.text))
                sign_days = int(util.find_value(days_pattern, r.text))
                self.logger.info('今日已打卡: {}; 打卡天数: {}'.format(
                    signed, sign_days))

            except Exception as e:
                self.logger.error('返回数据结构可能有变化, 获取打卡数据失败: {}'.format(e))
                traceback.print_exc()

        return signed
Ejemplo n.º 6
0
    def is_signed(self):
        r = self.session.get(self.index_url)
        signed = False

        if r.ok:
            sign_pattern = r'"signStatval".*?value="(\d+)"'
            days_pattern = r'"signNum".*?value="(\d+)"'

            try:
                # https://h.360buyimg.com/getbean/js/jdBeanNew.js
                # 2 表示已签到, 4 表示未签到
                signed = ('2' == util.find_value(sign_pattern, r.text))
                sign_days = int(util.find_value(days_pattern, r.text))
                self.logger.info('今日已签到: {}; 签到天数: {}'.format(
                    signed, sign_days))

            except Exception as e:
                self.logger.error('返回数据结构可能有变化, 获取签到数据失败: {}'.format(e))
                traceback.print_exc()

        return signed