├── pste_log.log ├── HTTP ├── http_log.log ├── .DS_Store ├── config.py ├── __init__.py ├── README.md ├── utils.py ├── session_handler.py ├── HttpApi.py └── request_model.py ├── old ├── HTTP │ ├── README.md │ ├── __init__.py │ ├── http_server_log.log │ ├── .DS_Store │ ├── Utils.py │ ├── requests_server_config.py │ ├── RequestServerApi.py │ └── generalRequest.py ├── DB │ ├── captcha_id_shixin.txt │ ├── captcha_id_zhixing.txt │ ├── zhixing_list.txt │ ├── shixin_list.txt │ ├── zhixing_info.txt │ └── shixin_info.txt ├── .DS_Store ├── img │ └── e14279d6774c45d9a093ed662ab91863.jpg ├── README.md ├── PSETWebServer.py ├── utils.py ├── config.py ├── CaptchaHandler.py ├── PsteSpider.py └── log │ └── run.log ├── __init__.py ├── README.md ├── PSETWebServer.py ├── utils.py ├── config.py ├── pste_spider.py ├── CaptchaHandler.py └── captcha_log.log /pste_log.log: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /HTTP/http_log.log: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /old/HTTP/README.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /old/HTTP/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /old/HTTP/http_server_log.log: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /old/DB/captcha_id_shixin.txt: -------------------------------------------------------------------------------- 1 | 1d3af76517af4817ad27e9d75754431a 2 | -------------------------------------------------------------------------------- /old/DB/captcha_id_zhixing.txt: -------------------------------------------------------------------------------- 1 | 9ce2ffd03c49467292e9955f92c71c2e 2 | -------------------------------------------------------------------------------- /old/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beforeuwait/PSTE/HEAD/old/.DS_Store -------------------------------------------------------------------------------- /HTTP/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beforeuwait/PSTE/HEAD/HTTP/.DS_Store -------------------------------------------------------------------------------- /old/HTTP/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beforeuwait/PSTE/HEAD/old/HTTP/.DS_Store -------------------------------------------------------------------------------- /__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | 4 | """ 5 | 重构PSTE 6 | 7 | 不再请求百度的api数据,但数据结构上保留 8 | """ -------------------------------------------------------------------------------- /old/img/e14279d6774c45d9a093ed662ab91863.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beforeuwait/PSTE/HEAD/old/img/e14279d6774c45d9a093ed662ab91863.jpg -------------------------------------------------------------------------------- /HTTP/config.py: -------------------------------------------------------------------------------- 1 | # coding=utf8 2 | 3 | # proxy 4 | 5 | proxy = { 6 | "http": "xxxxxx", 7 | "https": "xxxxx", 8 | } 9 | # retry 10 | # tell request_model how many times could it retry 11 | 12 | retry = 5 13 | 14 | 15 | # wrong request sleep time 16 | 17 | w_sleep = 10 -------------------------------------------------------------------------------- /HTTP/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | __author__ = 'wangjiawei' 4 | __date__ = '2018-11-27' 5 | 6 | """ 7 | 对HTTP模块进行重构 8 | 并不添加新功能 9 | ================================ 10 | 2018-11-27:当前能用的只有 11 | get/post 请求 12 | """ 13 | 14 | __all__ = ['RequestAPI'] 15 | 16 | from HTTP.HttpApi import HttpApi as RequestAPI 17 | -------------------------------------------------------------------------------- /old/HTTP/Utils.py: -------------------------------------------------------------------------------- 1 | # coding=utf8 2 | 3 | """ 4 | 定义一些常见的处理 5 | 以及 6 | 自定义异常 7 | """ 8 | 9 | 10 | def check_params(params): 11 | """检查参数是否为dict""" 12 | if not isinstance(params, dict): 13 | raise InputParamsError 14 | 15 | 16 | class InputParamsError(Exception): 17 | 18 | def __str__(self): 19 | return '当前传入参数不是dict格式,请检查...' 20 | -------------------------------------------------------------------------------- /HTTP/README.md: -------------------------------------------------------------------------------- 1 | 请求模块 2 | 3 | - 2018-12-17 对该模块进行了迭代 4 | 5 | 新思路,开关在使用者手上 6 | 针对验证码这种数据流,原有的html解码行不通 7 | 交给使用者来用 8 | 9 | - 2018-11-26 对该模块进行重构 10 | 11 | 1. 优化代码 12 | 13 | 2. 简化思路 14 | 15 | 3. 提升兼容性 16 | 17 | - 2018-11-27 开始重构 18 | 19 | - 完成框架的搭建 20 | 21 | - 接下: 22 | 23 | 1. 异常处理 24 | 2. 日志部分 25 | 3. 测试 26 | 27 | - 2018-12-13 28 | 29 | 问题: 30 | 31 | 如果是请求图片的情况,对html.decode('gbk')or html.decode('utf8')解码要报错 -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # PSTE第二版 2 | 3 | ## 根据最高院网页改版,顺带迭代了一版该接口 4 | 5 | ### 改动 6 | 7 | 1. 不再请求百度的被执行人接口 8 | 9 | 2. 简化了 被执行人和失信被执行人 代码,便于维护 10 | 11 | 3. 验证码部分,增加了验证部分,每次ocr后都要对改结果进行验证 12 | 13 | 4. 不再对请求结果予以保存 14 | 15 | 5. 不再保存CaptchaId,每次都用鲜活的 16 | 17 | 18 | ## 启动 19 | 20 | 1. 先启动redis 21 | > redis-server 22 | 23 | 2. 启动验证码模块 24 | nohup python3 CaptchaHandler.py & 25 | 26 | 3. 启动web服务 27 | nohup python3 PSTEWebServer.py 28 | 29 | 30 | ## 说明 31 | 32 | - 该接口不做任何参数验证,由调用接口前端去完成(偷懒ing) 33 | 34 | - 务必上代理,虽说还是可能被反向解析出 35 | 36 | - 带cookie测试过程会出现js加载cookie 的部分,目前没有影响,不过也是个隐患 37 | 38 | ## 更新 39 | 40 | 官网服务器性能差,可能也是因为爬虫太多的原因 41 | 42 | 在验证码部分,减少2次请求,不请求主页获取最新的 captcha_id 43 | 44 | 使用已经下载好的captcha_id 激活,然后使用 -------------------------------------------------------------------------------- /PSETWebServer.py: -------------------------------------------------------------------------------- 1 | # coding=utf8 2 | 3 | """ 4 | - author = wangjiawei 5 | - date = 2018-10-08 6 | 7 | - quote: pste 的web服务 8 | 9 | """ 10 | 11 | 12 | import tornado.web 13 | from tornado.ioloop import IOLoop 14 | from utils import json_dumps 15 | from pste_spider import executoer_for_web_server 16 | from utils import logger 17 | 18 | class MainHandler(tornado.web.RequestHandler): 19 | 20 | param_names = ['pname', 'cardNum'] 21 | 22 | def get(self): 23 | self.write('welcome') 24 | 25 | def post(self): 26 | api_info = self.lets_do_spider() 27 | self.write(api_info) 28 | del api_info 29 | 30 | 31 | def lets_do_spider(self): 32 | """针对2.0版本""" 33 | # 省略了参数验证环节 34 | pname = self.get_argument('pname') 35 | cardNum = self.get_argument('cardNum') 36 | # 使用多进程 37 | logger.debug('接受参数:\t{0}\t{1}'.format(pname, cardNum)) 38 | result = executoer_for_web_server(pname, cardNum) 39 | 40 | return json_dumps(result) 41 | 42 | 43 | 44 | 45 | application = tornado.web.Application([(r"/pste", MainHandler),]) 46 | 47 | 48 | if __name__ == "__main__": 49 | application.listen(22000) 50 | IOLoop.instance().start() 51 | -------------------------------------------------------------------------------- /old/HTTP/requests_server_config.py: -------------------------------------------------------------------------------- 1 | # coding=utf8 2 | 3 | """ 4 | 该文件作为 requests_api的配置文件 5 | 6 | 作为 api 返回的数据结构为 7 | 8 | response = { 9 | "status_code": 200, # 服务器状态码 10 | ”content“: "xxxx", # 返回html/json/xml等等 11 | } 12 | """ 13 | 14 | from __future__ import absolute_import 15 | import logging 16 | import os 17 | # 请求模块日志 18 | logger = logging.getLogger('main') 19 | 20 | logger.setLevel(logging.DEBUG) # 定义为INFO是因为requests要写debug 21 | request_handler = logging.FileHandler(os.path.abspath('./log/http_log.log')) 22 | fmt = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s') 23 | request_handler.setFormatter(fmt) 24 | logger.addHandler(request_handler) 25 | 26 | # 定义个过滤器 27 | class RequestFilter(logging.Filter): 28 | """这是一个过滤request_log的过滤器 29 | """ 30 | 31 | def filter(self, record): 32 | result = False 33 | try: 34 | filter_key = record.isRequest 35 | except AttributeError: 36 | filter_key = 'error_record' 37 | 38 | if filter_key == 'notRequestLog': 39 | result = True 40 | return result 41 | 42 | 43 | logger.addFilter(RequestFilter()) 44 | 45 | filter_dict = {"isRequest": "notRequestLog"} 46 | 47 | # 代理 48 | 49 | proxy = { 50 | "http": "xxxxxx", 51 | "https": "xxxxxx", 52 | } 53 | 54 | # 重试次数我 55 | 56 | retry = 5 57 | 58 | # 请求间隔睡眠时间 59 | 60 | r_sleep = 2 61 | 62 | error_sleep = 10 63 | 64 | # 网页编码 65 | 66 | ec_u = 'utf8' 67 | 68 | ec_g = 'gbk' -------------------------------------------------------------------------------- /HTTP/utils.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | import os 4 | import logging 5 | 6 | # type 7 | _check_params = bool 8 | 9 | 10 | def check_params(typeof, ins) -> _check_params: 11 | """ 12 | 检测类型 13 | :param typeof: 期望类型 14 | :param ins: 目标 15 | :return: bool 16 | """ 17 | result = False 18 | try: 19 | if isinstance(ins, typeof): 20 | return True 21 | except Exception as e: 22 | logger.warning('传入的参数格式错误\t{0}\t参数为: {1}'.format(e, ins)) 23 | return result 24 | 25 | 26 | # logging部分 27 | # 定义个过滤器 28 | class RequestFilter(logging.Filter): 29 | """这是一个过滤request_log的过滤器 30 | """ 31 | 32 | def filter(self, record): 33 | result = False 34 | try: 35 | filter_key = record.isRequest 36 | except AttributeError: 37 | filter_key = 'error_record' 38 | 39 | if filter_key == 'notRequestLog': 40 | result = True 41 | return result 42 | 43 | 44 | logger = logging.getLogger(name='HTTP') 45 | logger.setLevel(logging.DEBUG) 46 | handler = logging.FileHandler(os.path.join(os.path.split(__file__)[0], './http_log.log')) 47 | fmt = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s') 48 | handler.setFormatter(fmt) 49 | logger.addHandler(handler) 50 | 51 | # 添加过滤器 52 | logger.addFilter(RequestFilter()) 53 | 54 | filter_dict = {"isRequest": "notRequestLog"} 55 | 56 | 57 | # 定义一个异常 58 | 59 | class MethodCheckError(Exception): 60 | 61 | def __str__(self): 62 | return '当前传入method不是指定的格式类型,参照 get,post' 63 | -------------------------------------------------------------------------------- /old/HTTP/RequestServerApi.py: -------------------------------------------------------------------------------- 1 | # coding=utf8 2 | 3 | """ 4 | author: wangjiawei 5 | date: 2018/07/09 6 | 7 | """ 8 | 9 | from HTTP.generalRequest import GeneralRequest 10 | 11 | 12 | class RequestAPI(GeneralRequest): 13 | """这个类作为外部调用的api 14 | 功能: 15 | """ 16 | 17 | def __init__(self): 18 | # 实例化GeneralRequest 准备请求 19 | super(RequestAPI, self).__init__() 20 | 21 | def receive_and_request(self, **kwargs): 22 | """接收参数 23 | 处理参数 24 | 选择请求方式 25 | 默认是带代理的 26 | """ 27 | 28 | # 先获取参数, 目前就想了这么多 29 | url = kwargs.get('url') 30 | headers = kwargs.get('headers') 31 | method = kwargs.get('method') 32 | cookie = kwargs.get('cookie') 33 | params = kwargs.get('params') 34 | payloads = kwargs.get('payloads') 35 | 36 | # 构建请求头 37 | if headers is not None: 38 | self.update_headers(headers) 39 | if cookie is not None: 40 | self.update_cookie_with_outer(cookie) 41 | 42 | # 开始请求 43 | html = self.do_request(url=url, 44 | params=params, 45 | method=method, 46 | payloads=payloads) 47 | # 在通用的一次性请求里,到这里是要关闭session的 48 | # 清理cookie 49 | self.discard_cookies() 50 | self.close_session() 51 | 52 | return html 53 | 54 | def user_define_request(self, **kwargs): 55 | """这个方法的意义在于用户自己去设计请求过程 56 | 一般登录啊 57 | 绕过js啊 58 | 。。。 59 | 都这这里自己定义 60 | """ 61 | pass 62 | -------------------------------------------------------------------------------- /HTTP/session_handler.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | """ 4 | session 处理 5 | 6 | """ 7 | 8 | from importlib import reload 9 | import HTTP.config as config 10 | from HTTP.utils import check_params 11 | 12 | # type 13 | _check_type = dict 14 | _proxy = config.proxy 15 | _outer_params = dict 16 | 17 | 18 | class SessionHandler: 19 | """ 20 | 承担对session的操作 21 | """ 22 | 23 | def __init__(self, session) -> None: 24 | self._s = session 25 | # 加载proxy 26 | self.update_proxy() 27 | 28 | def close_session(self) -> None: 29 | """关闭session""" 30 | self._s.close() 31 | return 32 | 33 | def outer_parmams_dict(self) -> _outer_params: 34 | return { 35 | 'headers': self._s.headers, 36 | 'cookies': self._s.cookies, 37 | 'params': self._s.params 38 | } 39 | 40 | def update_cookie_headers_params(self, *args) -> None: 41 | """参数 第一个是说明类型,第二是值""" 42 | if check_params(_check_type, args[1]): 43 | self.outer_parmams_dict().get(args[0]).update(args[1]) 44 | return 45 | 46 | def discard_cookie_headers_params(self, choice) -> None: 47 | """删除session里指定的值""" 48 | self.outer_parmams_dict().get(choice).clear() 49 | return 50 | 51 | def update_proxy(self) -> None: 52 | """这个在默认的状态下是要携带代理的 53 | 可以指定情况,不要代理 54 | """ 55 | # 对config模块更新 56 | reload(config) 57 | self._s.proxies.update(_proxy) 58 | return 59 | 60 | def discard_proxy(self) -> None: 61 | """删除session里的proxy 62 | """ 63 | self._s.proxies.clear() 64 | return 65 | -------------------------------------------------------------------------------- /utils.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | import json 4 | import time 5 | import logging 6 | import config as cnf 7 | from redis import StrictRedis 8 | from lxml import etree 9 | 10 | 11 | # logging 12 | logger = logging.getLogger(name='son') 13 | logger.setLevel(logging.DEBUG) 14 | handler = logging.FileHandler('./pste_log.log') 15 | fmt = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s') 16 | handler.setFormatter(fmt) 17 | logger.addHandler(handler) 18 | 19 | 20 | def loads_json(js_ctx): 21 | js_dict = None 22 | try: 23 | js_dict = json.loads(js_ctx) 24 | except Exception as e: 25 | logger.warning('json解析错误\t{0}, \t{1}'.format(e, js_ctx)) 26 | 27 | return js_dict 28 | 29 | 30 | def json_dumps(json_dict): 31 | js_ctx = None 32 | try: 33 | js_ctx = json.dumps(json_dict) 34 | except Exception as e: 35 | logger.warning('json dumps错误\t{0}'.format(e)) 36 | return js_ctx 37 | 38 | def load_selector(html): 39 | selector = None 40 | try: 41 | selector = etree.HTML(html) 42 | except Exception as e: 43 | logger.warning('xpath解析错误\t{0}'.format(e)) 44 | return selector 45 | 46 | # redis 47 | 48 | def connect_2_redis(): 49 | cli = None 50 | try: 51 | cli = StrictRedis(host=cnf.redis_cnf.get('host'), 52 | port=cnf.redis_cnf.get('port'), 53 | db=cnf.redis_cnf.get('db'), 54 | password=cnf.redis_cnf.get('psw')) 55 | except Exception as e: 56 | logger.warning('redis链接出错'.format(e)) 57 | return cli 58 | 59 | 60 | def pop_msg(que): 61 | msg = None 62 | redis_cli = connect_2_redis() 63 | if redis_cli is not None: 64 | while True: 65 | if redis_cli.exists(que): 66 | msg = redis_cli.lpop(que) 67 | break 68 | time.sleep(0.1) 69 | return msg 70 | 71 | 72 | -------------------------------------------------------------------------------- /HTTP/HttpApi.py: -------------------------------------------------------------------------------- 1 | # coding=utf8 2 | 3 | """ 4 | 外部引用的api 5 | """ 6 | 7 | import chardet 8 | from HTTP.request_model import DealRequest 9 | from HTTP.utils import MethodCheckError 10 | 11 | # type 12 | _html = str 13 | _status_code = int 14 | 15 | 16 | class HttpApi: 17 | 18 | def __init__(self) -> None: 19 | self.dr = DealRequest() 20 | 21 | def receive_and_request(self, **kwargs) -> _html: 22 | """ 23 | 接受参数,这里要检查method 24 | :param kwargs: 25 | :return: 26 | """ 27 | # todo: 添加一个对method的判断,不是 get/post 则报错 28 | method = kwargs.get('method') 29 | if method not in ['get', 'GET', 'post', 'POST']: 30 | raise MethodCheckError 31 | url = kwargs.get('url') 32 | headers = kwargs.get('headers') 33 | cookies = kwargs.get('cookies') 34 | params = kwargs.get('params') 35 | payloads = kwargs.get('payloads') 36 | resp = self.dr.do_request(method=method, 37 | url=url, 38 | headers=headers, 39 | cookies=cookies, 40 | params=params, 41 | payloads=payloads, 42 | redirect=False) 43 | # 清理headers 44 | # 清理cookie 45 | # 关闭session 46 | page_code = chardet.detect(resp[0]).get('encoding') 47 | html = resp[0].decode('utf-8') if page_code == 'utf-8' else resp[0].decode('gbk') 48 | [self.dr.sh.discard_cookie_headers_params(i) for i in ['headers', 'cookies', 'params']] 49 | self.dr.sh.close_session() 50 | return html 51 | 52 | def user_define_request(self, **kwargs) -> None: 53 | """这个方法的意义在于用户自己去设计请求过程 54 | 一般登录啊 55 | 绕过js啊 56 | 。。。 57 | 都这这里自己定义 58 | """ 59 | pass 60 | -------------------------------------------------------------------------------- /old/DB/zhixing_list.txt: -------------------------------------------------------------------------------- 1 | 姚春2018年07月23日(2018)辽0203执1676号36829829 2 | 姚春2018年07月23日(2018)辽0203执1676号36829829 3 | 姚春2018年07月23日(2018)辽0203执1676号36829829 4 | 姚春2018年07月23日(2018)辽0203执1676号36829829 5 | 姚春2018年07月23日(2018)辽0203执1676号36829829 6 | 姚春2018年07月23日(2018)辽0203执1676号36829829 7 | 姚春2018年07月23日(2018)辽0203执1676号36829829 8 | 姚春2018年07月23日(2018)辽0203执1676号36829829 9 | 姚春2018年07月23日(2018)辽0203执1676号36829829 10 | 姚春2018年07月23日(2018)辽0203执1676号36829829 11 | 姚春2018年07月23日(2018)辽0203执1676号36829829 12 | 姚春2018年07月23日(2018)辽0203执1676号36829829 13 | 姚春2018年07月23日(2018)辽0203执1676号36829829 14 | 姚春2018年07月23日(2018)辽0203执1676号36829829 15 | 姚春2018年07月23日(2018)辽0203执1676号36829829 16 | 姚春2018年07月23日(2018)辽0203执1676号36829829 17 | 姚春2018年07月23日(2018)辽0203执1676号36829829 18 | 姚春2018年07月23日(2018)辽0203执1676号36829829 19 | 姚春2018年07月23日(2018)辽0203执1676号36829829 20 | 姚春2018年07月23日(2018)辽0203执1676号36829829 21 | 姚春2018年07月23日(2018)辽0203执1676号36829829 22 | 姚春2018年07月23日(2018)辽0203执1676号36829829 23 | 姚春2018年07月23日(2018)辽0203执1676号36829829 24 | 姚春2018年07月23日(2018)辽0203执1676号36829829 25 | 姚春2018年07月23日(2018)辽0203执1676号36829829 26 | 姚春2018年07月23日(2018)辽0203执1676号36829829 27 | 姚春2018年07月23日(2018)辽0203执1676号36829829 28 | 姚春2018年07月23日(2018)辽0203执1676号36829829 29 | 姚春2018年07月23日(2018)辽0203执1676号36829829 30 | 姚春2018年07月23日(2018)辽0203执1676号36829829 31 | 姚春2018年07月23日(2018)辽0203执1676号36829829 32 | 姚春2018年07月23日(2018)辽0203执1676号36829829 33 | 姚春2018年07月23日(2018)辽0203执1676号36829829 34 | 姚春2018年07月23日(2018)辽0203执1676号36829829 35 | 姚春2018年07月23日(2018)辽0203执1676号36829829 36 | 姚春2018年07月23日(2018)辽0203执1676号36829829 37 | 姚春2018年07月23日(2018)辽0203执1676号36829829 38 | 姚春2018年07月23日(2018)辽0203执1676号36829829 39 | 姚春2018年07月23日(2018)辽0203执1676号36829829 40 | 姚春2018年07月23日(2018)辽0203执1676号36829829 41 | 姚春2018年07月23日(2018)辽0203执1676号36829829 42 | 姚春2018年07月23日(2018)辽0203执1676号36829829 43 | 姚春2018年07月23日(2018)辽0203执1676号36829829 44 | -------------------------------------------------------------------------------- /old/README.md: -------------------------------------------------------------------------------- 1 | # 最高院失信被执行人查询api使用说明 2 | 3 | ## 日志 4 | 5 | - 2018-09-29: 6 | 7 | 完成验证码模块的开发,验证码图片不做保存处理,直接在线ocr 8 | 9 | - 2018-10-25: 10 | 11 | 拖了蛮久来进行收尾 12 | 13 | 这期间在重新做一版ocr 14 | 15 | 用的挺老的svm方法 16 | 17 | 重新部署上线,spider方面的代码没有改动 18 | 19 | - 2018-10-29 20 | 21 | 迭代验证码部分,在线上服务器会遇到下载验证码过慢的问题 22 | 23 | 之前队列里只放1个ocr的思路就行不通了 24 | 25 | new idea:在2mins内,队列保持10个ocr结果,同时调用端也保持FIFO的原则 26 | 27 | - 2018-11-05 28 | 29 | **接口在周末不能用,经检查发现,网站服务器性能差,打不开,验证码加载慢** 30 | 31 | ## 注意: 32 | 33 | 代理部分,本人使用的阿布云(已屏蔽) 34 | 35 | **需手动去配置** 36 | > 目标: 37 | 38 | 搭建一个server,提供在线的查询,通过输入的人的名字和身份证号 39 | 40 | 返回: 41 | 42 | 1. 被执行人查询结果 43 | 2. 失信被执行人查询结果 44 | 3. 百度api返回被执行人查询结果 45 | 46 | ## 模块 47 | 48 | - 验证码模块 49 | - 实时获取最新验证码并ocr 50 | - http-server 51 | - 提供api服务 52 | - spider 53 | - 失信被执行数据抓取 54 | - 被执行人数据抓取 55 | - 百度api的被执行人数据抓取 56 | 57 | 58 | ## 如何使用 59 | 部署地址: 60 | 61 | http:118.123.201.169:23080/pste2 62 | 63 | 1. 首先启动验证码识别模块 64 | 65 | 每次去下载2个最新的验证码 66 | 在线实时图片识别 67 | 然后丢入队列里 68 | 69 | 终端: 70 | 先启动 redis 71 | python3 CaptchaHandler.py 72 | 73 | 2. 启动一个http-server 作为api 74 | 75 | 终端: 76 | python3 PSTEWebServer.py 77 | 监听端口自定义 78 | 79 | 3. 该api的调用 80 | 81 | 82 | 请求(以本地为例): 83 | http://localhost:xxxx/pste2 84 | 85 | 方法: POST 86 | 参数: { 87 | 'pname': 'xxx', 88 | 'cardNum': 'xxxxxxxxxxxx' 89 | } 90 | 91 | 接口返回参数格式:{ 92 | "api_status_code": 200, 93 | "api_msg": [], 94 | "api_status": "success", 95 | "data": { 96 | 'zhixing': { 97 | 'info': [], 98 | 'status': 200 99 | }, 100 | 'shixin': { 101 | 'info': [], 102 | 'status': 200 103 | }, 104 | 'baidu': { 105 | 'info': [], 106 | 'status': 200 107 | } 108 | } 109 | } -------------------------------------------------------------------------------- /old/PSETWebServer.py: -------------------------------------------------------------------------------- 1 | # coding=utf8 2 | 3 | """ 4 | - author = wangjiawei 5 | - date = 2018-10-08 6 | 7 | - quote: pste 的web服务 8 | 9 | """ 10 | 11 | 12 | from copy import deepcopy 13 | import tornado.web 14 | from tornado.ioloop import IOLoop 15 | from multiprocessing import Pool 16 | from PsteSpider import run 17 | from utils import dumps_json 18 | 19 | 20 | class MainHandler(tornado.web.RequestHandler): 21 | 22 | param_names = ['pname', 'cardNum'] 23 | 24 | api_demo = { 25 | "api_status_code": 200, 26 | "api_msg": [], 27 | "api_status": "success", 28 | "data": { 29 | 'zhixing': { 30 | 'info': [], 31 | 'status': 200 32 | }, 33 | 'shixin': { 34 | 'info': [], 35 | 'status': 200 36 | }, 37 | 'baidu': { 38 | 'info': [], 39 | 'status': 200 40 | } 41 | } 42 | } 43 | 44 | def get(self): 45 | self.write('welcome') 46 | 47 | def post(self): 48 | api_info = self.lets_do_spider() 49 | self.write(api_info) 50 | del api_info 51 | 52 | 53 | def lets_do_spider(self): 54 | """针对2.0版本""" 55 | result = [] 56 | api_info = deepcopy(self.api_demo) 57 | # 省略了参数验证环节 58 | pname = self.get_argument('pname') 59 | cardNum = self.get_argument('cardNum') 60 | # 使用多进程 61 | pool = Pool(3) 62 | duty_list = ['zhixing', 'shixin', 'baidu'] 63 | for duty in duty_list: 64 | result.append(pool.apply_async(run, (duty, pname, cardNum,))) 65 | 66 | pool.close() 67 | pool.join() 68 | # 更新被执行人 69 | api_info['data']['zhixing'] = result[0].get() 70 | # 更新失信被执行人 71 | api_info['data']['shixin'] = result[1].get() 72 | # 更新百度 73 | api_info['data']['baidu'] = result[2].get() 74 | 75 | return dumps_json(api_info) 76 | 77 | 78 | 79 | 80 | application = tornado.web.Application([(r"/pste2", MainHandler),]) 81 | 82 | 83 | if __name__ == "__main__": 84 | application.listen(23080) 85 | IOLoop.instance().start() 86 | -------------------------------------------------------------------------------- /old/DB/shixin_list.txt: -------------------------------------------------------------------------------- 1 | 付兵2018年01月17日(2018)皖1523执246号703970523 2 | 付兵2017年12月06日(2017)皖1523执2218号703799388 3 | 付兵2017年07月05日(2017)皖0103执2576号702132933 4 | 付兵2018年01月17日(2018)皖1523执246号703970523 5 | 付兵2017年12月06日(2017)皖1523执2218号703799388 6 | 付兵2017年07月05日(2017)皖0103执2576号702132933 7 | 姚春2018年07月23日(2018)辽0203执1676号704556414 8 | 姚春2018年07月23日(2018)辽0203执1676号704556414 9 | 姚春2018年07月23日(2018)辽0203执1676号704556414 10 | 姚春2018年07月23日(2018)辽0203执1676号704556414 11 | 姚春2018年07月23日(2018)辽0203执1676号704556414 12 | 姚春2018年07月23日(2018)辽0203执1676号704556414 13 | 姚春2018年07月23日(2018)辽0203执1676号704556414 14 | 姚春2018年07月23日(2018)辽0203执1676号704556414 15 | 姚春2018年07月23日(2018)辽0203执1676号704556414 16 | 姚春2018年07月23日(2018)辽0203执1676号704556414 17 | 姚春2018年07月23日(2018)辽0203执1676号704556414 18 | 姚春2018年07月23日(2018)辽0203执1676号704556414 19 | 姚春2018年07月23日(2018)辽0203执1676号704556414 20 | 姚春2018年07月23日(2018)辽0203执1676号704556414 21 | 姚春2018年07月23日(2018)辽0203执1676号704556414 22 | 姚春2018年07月23日(2018)辽0203执1676号704556414 23 | 付兵2018年01月17日(2018)皖1523执246号703970523 24 | 付兵2017年12月06日(2017)皖1523执2218号703799388 25 | 付兵2017年07月05日(2017)皖0103执2576号702132933 26 | 付兵2018年01月17日(2018)皖1523执246号703970523 27 | 付兵2017年12月06日(2017)皖1523执2218号703799388 28 | 付兵2017年07月05日(2017)皖0103执2576号702132933 29 | 付兵2018年01月17日(2018)皖1523执246号703970523 30 | 付兵2017年12月06日(2017)皖1523执2218号703799388 31 | 付兵2017年07月05日(2017)皖0103执2576号702132933 32 | 付兵2018年01月17日(2018)皖1523执246号703970523 33 | 付兵2017年12月06日(2017)皖1523执2218号703799388 34 | 付兵2017年07月05日(2017)皖0103执2576号702132933 35 | 付兵2018年01月17日(2018)皖1523执246号703970523 36 | 付兵2017年12月06日(2017)皖1523执2218号703799388 37 | 付兵2017年07月05日(2017)皖0103执2576号702132933 38 | 付兵2018年01月17日(2018)皖1523执246号703970523 39 | 付兵2017年12月06日(2017)皖1523执2218号703799388 40 | 付兵2017年07月05日(2017)皖0103执2576号702132933 41 | 付兵2018年01月17日(2018)皖1523执246号703970523 42 | 付兵2017年12月06日(2017)皖1523执2218号703799388 43 | 付兵2017年07月05日(2017)皖0103执2576号702132933 44 | 姚春2018年07月23日(2018)辽0203执1676号704556414 45 | 姚春2018年07月23日(2018)辽0203执1676号704556414 46 | 姚春2018年07月23日(2018)辽0203执1676号704556414 47 | 姚春2018年07月23日(2018)辽0203执1676号704556414 48 | 姚春2018年07月23日(2018)辽0203执1676号704556414 49 | 姚春2018年07月23日(2018)辽0203执1676号704556414 50 | 姚春2018年07月23日(2018)辽0203执1676号704556414 51 | 姚春2018年07月23日(2018)辽0203执1676号704556414 52 | 姚春2018年07月23日(2018)辽0203执1676号704556414 53 | 姚春2018年07月23日(2018)辽0203执1676号704556414 54 | 姚春2018年07月23日(2018)辽0203执1676号704556414 55 | 姚春2018年07月23日(2018)辽0203执1676号704556414 56 | 姚春2018年07月23日(2018)辽0203执1676号704556414 57 | 姚春2018年07月23日(2018)辽0203执1676号704556414 58 | 姚春2018年07月23日(2018)辽0203执1676号704556414 59 | 姚春2018年07月23日(2018)辽0203执1676号704556414 60 | 姚春2018年07月23日(2018)辽0203执1676号704556414 61 | 姚春2018年07月23日(2018)辽0203执1676号704556414 62 | 姚春2018年07月23日(2018)辽0203执1676号704556414 63 | 姚春2018年07月23日(2018)辽0203执1676号704556414 64 | 姚春2018年07月23日(2018)辽0203执1676号704556414 65 | 姚春2018年07月23日(2018)辽0203执1676号704556414 66 | 姚春2018年07月23日(2018)辽0203执1676号704556414 67 | -------------------------------------------------------------------------------- /HTTP/request_model.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | """ 4 | 请求模块 5 | 6 | 重写的目的是,增加灵活,减少引用时的重写 7 | 8 | """ 9 | 10 | import time 11 | import HTTP.config as config 12 | import requests 13 | from copy import deepcopy 14 | from HTTP.session_handler import SessionHandler 15 | from HTTP.utils import logger 16 | from HTTP.utils import filter_dict 17 | 18 | # type 19 | _html = str 20 | _status_code = int 21 | _switcher = dict 22 | _is_go_on = bool 23 | _resp = tuple 24 | 25 | 26 | class DealRequest: 27 | 28 | def __init__(self): 29 | self.session = requests.session() 30 | self.sh = SessionHandler(self.session) 31 | 32 | # def do_GET(self, *args) -> (_html, _status_code): 33 | def do_GET(self, *args) -> _resp: 34 | """完成get请求""" 35 | html = b'null_html' 36 | status_code = 0 37 | try: 38 | response = self.session.get(url=args[0], params=args[1], allow_redirects=args[3], timeout=5) 39 | except Exception as e: 40 | logger.warning('请求出错\t{0}'.format(e, extra=filter_dict)) 41 | else: 42 | # 请求成功 43 | status_code = response.status_code 44 | # 应该直接返回字节流,不要解码 45 | html = response.content 46 | 47 | return (html, status_code) 48 | 49 | # def do_POST(self, *args) -> (_html, _status_code): 50 | def do_POST(self, *args) -> _resp: 51 | """完成POST请求""" 52 | html = b'null_html' 53 | status_code = 0 54 | try: 55 | response = self.session.post(url=args[0], data=args[2], allow_redirects=args[3], timeout=5) 56 | except Exception as e: 57 | logger.warning('请求出错\t{0}'.format(e, extra=filter_dict)) 58 | else: 59 | # 请求成功 60 | status_code = response.status_code 61 | logger.debug('POST:\t{0}\t{1}'.format(status_code, args[0])) 62 | # 拿到编码 63 | html = response.content 64 | 65 | return (html, status_code) 66 | 67 | def switcher(self) -> _switcher: 68 | """返回一个选择器""" 69 | return {'GET': self.do_GET, 70 | 'POST': self.do_POST} 71 | 72 | def do_request(self, method, url, headers, cookies, params, payloads, redirect) -> (_html, _status_code): 73 | """接受参数,完成请求""" 74 | # RETRY 75 | retry = deepcopy(config.retry) 76 | html = b'null_html' 77 | status_code = 0 78 | # 请求放大写 79 | method = method.upper() 80 | # 组织部分 81 | # 更新请求头 82 | self.sh.update_cookie_headers_params('headers', headers) 83 | # 更新cookie 84 | if cookies: 85 | self.sh.update_cookie_headers_params('cookies', cookies) 86 | # 执行请求 87 | while retry > 0: 88 | html, status_code = self.switcher().get(method)(url, params, payloads, redirect) 89 | is_go_on = self.deal_response(status_code) 90 | if status_code != 0 and is_go_on: 91 | break 92 | # 说明刚刚的请求失败 93 | # 这里可以休息一下,再次访问 94 | time.sleep(config.w_sleep) 95 | retry -= 1 96 | 97 | return html, status_code 98 | 99 | @staticmethod 100 | def deal_response(status_code) -> _is_go_on: 101 | """为了方便重写 102 | 往后只需要重构此部分 103 | 针对 302的情况 104 | 针对 301的情况 105 | 针对 400 + 的情况 106 | 针对 500 + 的情况 107 | """ 108 | is_go_on = False 109 | # todo: 这里需要重写......... 110 | # 不能简单的去设定 status_code 小于300就通过 111 | # 这几天遇到 521 的情况 112 | if status_code < 300: 113 | # 请求通过 114 | is_go_on = True 115 | return is_go_on 116 | -------------------------------------------------------------------------------- /config.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | """ 4 | 该api的配置文件 5 | 6 | 从三个数据源减少到2个: 7 | 1. 被执行人 8 | 2. 失信被执行人 9 | 3. 百度api (取消) 10 | 11 | # 影响性能的因素: 12 | 13 | 1. 验证码的准确率 14 | 2. 服务器的性能,遇到压力大时候会抽风 15 | """ 16 | 17 | # 验证码 18 | 19 | # url_ocr = 'http://47.97.181.94:21000/pstecaptcha' 20 | url_ocr = 'http://127.0.0.1:21000/pstecaptcha' 21 | 22 | url_z = 'http://zhixing.court.gov.cn/search/' 23 | 24 | url_s = 'http://zxgk.court.gov.cn/shixin/' 25 | 26 | headers_z = { 27 | 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8', 28 | 'Accept-Encoding': 'gzip, deflate', 29 | 'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8', 30 | 'Cache-Control': 'max-age=0', 31 | 'Host': 'zhixing.court.gov.cn', 32 | # 'Cookie': '_gscu_1138507821 41398408liscqj19', 33 | 'Proxy-Connection': 'keep-alive', 34 | 'Upgrade-Insecure-Requests': '1', 35 | 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36' 36 | } 37 | 38 | headers_s = { 39 | 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8', 40 | 'Accept-Encoding': 'gzip, deflate', 41 | 'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8', 42 | 'Cache-Control': 'max-age=0', 43 | 'Host': 'zxgk.court.gov.cn', 44 | # 'Cookie': '_gscu_1138507821 41398408liscqj19', 45 | 'Proxy-Connection': 'keep-alive', 46 | 'Referer': 'http://zxgk.court.gov.cn/', 47 | 'Upgrade-Insecure-Requests': '1', 48 | 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36' 49 | } 50 | 51 | url_z_c = 'http://zhixing.court.gov.cn/search/captcha.do?captchaId={0}&random={1}' 52 | 53 | url_s_c = 'http://zxgk.court.gov.cn/shixin/captchaNew.do?captchaId={0}&random={1}' 54 | 55 | # 验证验证码 56 | 57 | url_z_y = 'http://zhixing.court.gov.cn/search/checkyzm?captchaId={0}&pCode={1}' 58 | 59 | url_s_y = 'http://zxgk.court.gov.cn/shixin/checkyzm.do?captchaId={0}&pCode={1}' 60 | 61 | headers_s_y = { 62 | 'Accept': 'application/json, text/javascript, */*; q=0.01', 63 | 'Accept-Encoding': 'gzip, deflate', 64 | 'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8', 65 | 'Host': 'zxgk.court.gov.cn', 66 | 'Proxy-Connection': 'keep-alive', 67 | 'Referer': 'http://zxgk.court.gov.cn/shixin/', 68 | 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36', 69 | 'X-Requested-With': 'XMLHttpRequest' 70 | } 71 | 72 | headers_z_y = { 73 | 'Accept': 'application/json, text/javascript, */*; q=0.01', 74 | 'Accept-Encoding': 'gzip, deflate', 75 | 'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8', 76 | 'Host': 'zhixing.court.gov.cn', 77 | 'Proxy-Connection': 'keep-alive', 78 | 'Referer': 'http://zhixing.court.gov.cn/search/', 79 | 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36', 80 | 'X-Requested-With': 'XMLHttpRequest' 81 | } 82 | 83 | # 被执行人 84 | 85 | url_z_list = 'http://zhixing.court.gov.cn/search/searchBzxr.do' 86 | 87 | url_z_info = 'http://zhixing.court.gov.cn/search/newdetail' 88 | 89 | headers_z_list = { 90 | 'Accept': 'application/json, text/javascript, */*; q=0.01', 91 | 'Accept-Encoding': 'gzip, deflate', 92 | 'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8', 93 | 'Content-Length': '282', 94 | 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8', 95 | 'Host': 'zhixing.court.gov.cn', 96 | 'Origin': 'http://zhixing.court.gov.cn', 97 | 'Proxy-Connection': 'keep-alive', 98 | 'Referer': 'http://zhixing.court.gov.cn/search/', 99 | 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36', 100 | 'X-Requested-With': 'XMLHttpRequest' 101 | } 102 | 103 | headers_z_info = { 104 | 'Accept': '*/*', 105 | 'Accept-Encoding': 'gzip, deflate', 106 | 'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8', 107 | 'Host': 'zhixing.court.gov.cn', 108 | 'Proxy-Connection': 'keep-alive', 109 | 'Referer': 'http://zhixing.court.gov.cn/search/', 110 | 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36', 111 | 'X-Requested-With': 'XMLHttpRequest' 112 | } 113 | 114 | payloads_z = { 115 | 'pName': '张亮', 116 | 'pCardNum': '', 117 | 'selectCourtId': '0', 118 | 'pCode': '', 119 | 'captchaId': '', 120 | 'searchCourtName': '全国法院(包含地方各级法院)', 121 | 'selectCourtArrange': '1', 122 | 'currentPage': '1' 123 | } 124 | 125 | params_z_info = { 126 | 'id': '25856865', 127 | 'j_captcha': '', 128 | 'captchaId': '', 129 | '_': '1545617060876' 130 | } 131 | 132 | # 失信被执行人 133 | url_s_list = 'http://zxgk.court.gov.cn/shixin/searchSX.do' 134 | 135 | url_s_info = 'http://zxgk.court.gov.cn/shixin/disDetailNew' 136 | 137 | headers_s_list = { 138 | 'Accept': 'application/json, text/javascript, */*; q=0.01', 139 | 'Accept-Encoding': 'gzip, deflate', 140 | 'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8', 141 | 'Content-Length': '114', 142 | 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8', 143 | 'Host': 'zxgk.court.gov.cn', 144 | 'Origin': 'http://zxgk.court.gov.cn', 145 | 'Proxy-Connection': 'keep-alive', 146 | 'Referer': 'http://zxgk.court.gov.cn/shixin/', 147 | 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36', 148 | 'X-Requested-With': 'XMLHttpRequest' 149 | } 150 | 151 | headers_s_info = { 152 | 'Accept': '*/*', 153 | 'Accept-Encoding': 'gzip, deflate', 154 | 'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8', 155 | 'Host': 'zxgk.court.gov.cn', 156 | 'Proxy-Connection': 'keep-alive', 157 | 'Referer': 'http://zxgk.court.gov.cn/shixin/', 158 | 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36', 159 | 'X-Requested-With': 'XMLHttpRequest' 160 | } 161 | 162 | payloads_s = { 163 | 'pName': '张亮', 164 | 'pCardNum': '', 165 | 'pProvince': '0', 166 | 'pCode': '', 167 | 'captchaId': '', 168 | 'currentPage': '1' 169 | } 170 | 171 | params_s_info = { 172 | 'id': '', 173 | 'caseCode': '', 174 | 'pCode': '', 175 | 'captchaId': '', 176 | } 177 | 178 | 179 | # redis 180 | 181 | redis_cnf = { 182 | 'host': '118.123.201.169', 183 | 'port': 6379, 184 | 'db': 5, 185 | 'que_z': 'captcha_z', 186 | 'que_s': 'captcha_s', 187 | 'psw': 'ftmore!@#20181119' 188 | } 189 | -------------------------------------------------------------------------------- /old/utils.py: -------------------------------------------------------------------------------- 1 | # coding=utf8 2 | 3 | 4 | import time 5 | import os 6 | import json 7 | import config 8 | from config import logger 9 | from lxml import etree 10 | from redis import StrictRedis 11 | 12 | 13 | # 重复执行次数 14 | 15 | def do_fun_cycle(fun, count): 16 | """重复执行函数""" 17 | n = 0 18 | while n < count: 19 | fun() 20 | n += 1 21 | return 22 | 23 | def do_fun_cycle_by_order(fun, order): 24 | """重复执行函数""" 25 | is_go_on = False 26 | for each in order: 27 | is_go_on = fun(each) 28 | if is_go_on is not True: 29 | break 30 | return is_go_on 31 | 32 | 33 | # 重置文件 34 | 35 | def initial_file(file_path_list): 36 | """ 37 | 指定path的文件,重置 38 | 对于空文件,则创建 39 | :return: 40 | """ 41 | for each in file_path_list: 42 | path = os.path.abspath(each) 43 | if not os.path.exists(path): 44 | f = open(path, 'a') 45 | f.close() 46 | else: 47 | f = open(path, 'w') 48 | f.close() 49 | return 50 | 51 | # 追加写入 52 | 53 | def write_2_file(file_path, ctx): 54 | """ 55 | 向指定目录写入文件 56 | :param path: 路径 57 | :param ctx: 内容 58 | :return: 59 | """ 60 | path = os.path.abspath(file_path) 61 | with open(path, 'a', encoding='utf8') as f: 62 | f.write(ctx + '\n') 63 | return 64 | 65 | def write_2_file_with_list(file_path, data_list): 66 | """ 67 | 向指定目录写入文件 68 | :param path: 路径 69 | :param ctx: 内容 70 | :return: 71 | """ 72 | path = os.path.abspath(file_path) 73 | with open(path, 'a', encoding='utf8') as f: 74 | for each in data_list: 75 | f.write('\u0001'.join(each) + '\n') 76 | return 77 | 78 | # 覆盖写入 79 | 80 | def overwrite_file(file_path, ctx): 81 | """ 82 | 向指定目录写入文件 83 | :param path: 路径 84 | :param ctx: 内容 85 | :return: 86 | """ 87 | path = os.path.abspath(file_path) 88 | with open(path, 'w', encoding='utf8') as f: 89 | f.write(ctx) 90 | return 91 | 92 | # 保存图片 93 | 94 | def save_img(file_path, img): 95 | """ 96 | 向指定目录保存下载图片 97 | :param file_path: 路径 98 | :param img: 内容 99 | :return: 100 | """ 101 | path = os.path.abspath(file_path) 102 | with open(path, 'wb') as f: 103 | f.write(img) 104 | 105 | # 解析json 106 | 107 | def loads_json(json_text): 108 | """ 109 | 解析json 110 | :param json_text: 111 | :return: 112 | """ 113 | js_dict = None 114 | try: 115 | js_dict = json.loads(json_text) 116 | except: 117 | logger.warning('json\tloads\t出错,请检查') 118 | return js_dict 119 | 120 | # 写入json 121 | 122 | def dumps_json(json_dict): 123 | return json.dumps(json_dict, ensure_ascii=False) 124 | 125 | # 返回文本内容 126 | 127 | def file_content(file_path): 128 | """返回文本内容 129 | 如果是空文档呢 130 | """ 131 | path = os.path.abspath(file_path) 132 | if not os.path.exists(path): 133 | f = open(path, 'w') 134 | f.close() 135 | return open(path, 'r', encoding='utf8').read() 136 | 137 | # 解析lxml 138 | 139 | def parse_lxml(html): 140 | """解析html""" 141 | selector = None 142 | try: 143 | selector = etree.HTML(html) 144 | except: 145 | logger.warning('lxml解析html时候出错') 146 | return selector 147 | 148 | # 返回一个集合 149 | 150 | def make_set(file_path, index, blank): 151 | """ 152 | 返回指定目录的集合 153 | :param file_path: 文件目录 154 | :param index: 索引位置 155 | :param blank: 分隔符 156 | :return: 157 | """ 158 | path = os.path.abspath(file_path) 159 | if index != '' and blank != '': 160 | return set(i.strip().split(blank)[index] for i in open(path, 'r', encoding='utf8')) 161 | elif index == '' and blank != '': 162 | return set(i.strip().split(blank) for i in open(path, 'r', encoding='utf8')) 163 | else: 164 | return set(i.strip() for i in open(path, 'r', encoding='utf8')) 165 | 166 | # 返回一个列表 167 | 168 | def make_list(file_path, index, blank): 169 | """ 170 | 返回指定目录的集合 171 | :param file_path: 文件目录 172 | :param index: 索引位置 173 | :param blank: 分隔符 174 | :return: 175 | """ 176 | path = os.path.abspath(file_path) 177 | if index != '' and blank !='': 178 | return [i.strip().split(blank)[index] for i in open(path, 'r', encoding='utf8')] 179 | elif index == '' and blank != '': 180 | return [i.strip().split(blank) for i in open(path, 'r', encoding='utf8')] 181 | else: 182 | return [i.strip() for i in open(path, 'r', encoding='utf8')] 183 | 184 | # 返回一个生成器 185 | 186 | def make_generator(file_path, blank): 187 | """ 188 | 返回一个生成器 189 | :param file_path:文件目录 190 | :param blank: 分隔符 191 | :return: 192 | """ 193 | path = os.path.abspath(file_path) 194 | for i in open(path, 'r', encoding='utf8'): 195 | if blank != '': 196 | yield i.strip().split(blank) 197 | else: 198 | yield i.strip() 199 | 200 | # translate 201 | 202 | def translate_2_json_dict(ctx): 203 | """把redis返回的字符变成json能loads的字符串""" 204 | return ctx.decode().replace('\'', '"') 205 | 206 | 207 | def redis_conn(): 208 | """链接redis""" 209 | return StrictRedis(host=config.redis_host, port=config.redis_port, db=config.redis_db) 210 | # return StrictRedis(host=config.redis_host2, password=config.redis_password,port=config.redis_port, db=config.redis_db) 211 | 212 | 213 | def push_2_que(que, ctx): 214 | """像指定的que push 数据""" 215 | try: 216 | redis_cli = redis_conn() 217 | if redis_cli is not None: 218 | redis_cli.lpush(que, ctx) 219 | except Exception as e: 220 | logger.warning('Redis推送数据出错,\t{0}'.format(e)) 221 | 222 | 223 | def wait_msg(que): 224 | """等待数据反馈""" 225 | msg = None 226 | try: 227 | redis_cli = redis_conn() 228 | if redis_cli.exists(que): 229 | msg = redis_cli.rpop(que) 230 | except Exception as e: 231 | logger.warning('Redis接受数据出错,\t{0}'.format(e)) 232 | return msg 233 | 234 | 235 | def clean_que(que_list): 236 | """将指定的que的数据清空,因为要保持队列的数据为最新的""" 237 | try: 238 | redis_cli = redis_conn() 239 | for que in que_list: 240 | while redis_cli.exists(que): 241 | redis_cli.rpop(que) 242 | 243 | except Exception as e: 244 | logger.warning('Redis清洗队列数据时出错,\t{0}'.format(e)) 245 | 246 | def recevice_msg_long(que): 247 | """等待指定队列有数据""" 248 | msg = None 249 | try: 250 | redis_cli = redis_conn() 251 | while True: 252 | if redis_cli.exists(que): 253 | # msg = redis_cli.rpop(que) 254 | msg = redis_cli.lpop(que) 255 | msg = loads_json(msg) 256 | break 257 | time.sleep(0.1) 258 | except Exception as e: 259 | logger.warning('Redis接受数据出错,\t{0}'.format(e)) 260 | 261 | return msg 262 | 263 | def static_msg_count(que): 264 | """统计指定的队列,有消息的数据""" 265 | count = 0 266 | msg_list = [] 267 | try: 268 | redis_cli = redis_conn() 269 | while True: 270 | if redis_cli.exists(que): 271 | msg = redis_cli.rpop(que) 272 | if msg is not None: 273 | msg_list.append(loads_json(msg)) 274 | count += 1 275 | else: 276 | break 277 | # 写入队列,这时候不用考虑先后问题 278 | if msg_list != []: 279 | for i in msg_list: 280 | redis_cli.lpush(que, dumps_json(i)) 281 | 282 | except Exception as e: 283 | logger.warning('Redis统计\t{0}队列数量时候出错\t {1}'.format(que, e)) 284 | print(e) 285 | return count 286 | -------------------------------------------------------------------------------- /old/config.py: -------------------------------------------------------------------------------- 1 | # coding=utf8 2 | 3 | import os 4 | import logging 5 | 6 | os.chdir(os.path.split(os.path.abspath(__file__))[0]) 7 | 8 | # [other] 9 | 10 | # 指定休息120秒 11 | sleep_time = 5 12 | 13 | # [logger] 14 | 15 | logger = logging.getLogger('main') 16 | 17 | logger.setLevel(logging.DEBUG) # 定义为INFO是因为requests要写debug 18 | request_handler = logging.FileHandler(os.path.abspath('./log/run.log')) 19 | fmt = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s') 20 | request_handler.setFormatter(fmt) 21 | logger.addHandler(request_handler) 22 | 23 | # 【proxy】 24 | 25 | proxy = { 26 | "http": "xxxxxxx", 27 | "https": "xxxxxx", 28 | } 29 | 30 | # 【CaptchaHandler】 31 | 32 | captcha_count = 1 33 | 34 | host_zs = { 35 | 'zhixing': 'zhixing.court.gov.cn', 36 | 'shixin': 'zxgk.court.gov.cn' 37 | } 38 | 39 | headers_CaptchaHandler = { 40 | 'Accept': 'image/webp,image/apng,image/*,*/*;q=0.8', 41 | 'Accept-Encoding': 'gzip, deflate', 42 | 'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8', 43 | 'Host': '', 44 | 'Proxy-Connection': 'keep-alive', 45 | 'Referer': 'http://zhixing.court.gov.cn/search/index_form.do', 46 | 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36' 47 | } 48 | 49 | headers_host = { 50 | 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8', 51 | 'Accept-Encoding': 'gzip, deflate', 52 | 'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8', 53 | 'Cache-Control': 'max-age=0', 54 | 'Host': '', 55 | 'Proxy-Connection': 'keep-alive', 56 | 'Referer': 'https://www.baidu.com/link?url=KF8Khh9dCKlXaSVfgBqRtd_efJm8_TIf3EqkSgxkkMTOuuqQCL-ttrHPyzRaIeUo&wd=&eqid=f4cc9418000cb44d000000055bad95b3', 57 | 'Upgrade-Insecure-Requests': '1', 58 | 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36' 59 | } 60 | 61 | url_captcha_zhixing = 'http://zhixing.court.gov.cn/search/captcha.do' 62 | 63 | url_captcha_shixin = 'http://zxgk.court.gov.cn/shixin/captcha.do' 64 | 65 | url_host = 'http://zhixing.court.gov.cn/search/' 66 | 67 | url_iframe_zhixing = 'http://zhixing.court.gov.cn/search/index_form.do' 68 | 69 | url_iframe_shixin = 'http://zxgk.court.gov.cn/shixin/index_form.do' 70 | 71 | url_svm = 'http://47.97.181.94:21000/pstecaptcha' 72 | 73 | params_captcha = { 74 | 'captchaId': 'cc848f9030274b5a91601800045d3346', 75 | 'random': '0.988618299575891', 76 | } 77 | 78 | img_file = './img/{}.png' 79 | 80 | file_captcha_zhixing = './DB/captcha_id_zhixing.txt' 81 | file_captcha_shixin = './DB/captcha_id_shixin.txt' 82 | 83 | file_captcha_zhixing_h = './DB/captcha_id_zhixing_history.txt' 84 | file_captcha_shixin_h = './DB/captcha_id_shixin_history.txt' 85 | 86 | 87 | # [redis] 88 | 89 | # 管道 90 | 91 | que = { 92 | 'zhixing': 'zx', 93 | 'shixin': 'sx', 94 | 'feedback': 'fb' 95 | } 96 | 97 | redis_host = 'localhost' 98 | redis_port = 6379 99 | redis_db = 11 100 | 101 | # spider 102 | 103 | 104 | params_dict = { 105 | 'zhixing': { 106 | 'searchCourtName': '全国法院(包含地方各级法院)', 107 | 'selectCourtId': '1', 108 | 'selectCourtArrange': '1', 109 | 'pname': '王刚', 110 | 'cardNum': '', 111 | 'j_captcha': 'aFf2', 112 | 'captchaId': '282a905ab0e64e90affaa997e763c7c1' 113 | }, 114 | 'shixin': { 115 | 'pName': '王刚', 116 | 'pCardNum': '', 117 | 'pProvince': '0', 118 | 'pCode': 'pxmq', 119 | 'captchaId': '7c9240f22ee944fd96d184769c63be26' 120 | } 121 | } 122 | 123 | url_dict = { 124 | 'zhixing': 'http://zhixing.court.gov.cn/search/newsearch', 125 | 'shixin': 'http://zxgk.court.gov.cn/shixin/findDis' 126 | } 127 | 128 | headers_dict = { 129 | 'zhixing': { 130 | 'Host': 'zhixing.court.gov.cn', 131 | 'Origin': 'http://zhixing.court.gov.cn', 132 | 'Referer': 'http://zhixing.court.gov.cn/search/index_form.do' 133 | }, 134 | 'shixin': { 135 | 'Host': 'zxgk.court.gov.cn', 136 | 'Origin': 'http://zxgk.court.gov.cn', 137 | 'Referer': 'http://zxgk.court.gov.cn/shixin/index_form.do' 138 | } 139 | } 140 | 141 | headers_info_dict = { 142 | 'zhixing': { 143 | 'Host': 'zhixing.court.gov.cn', 144 | 'Referer': 'http://zhixing.court.gov.cn/search/', 145 | 146 | }, 147 | 'shixin': { 148 | 'Host': 'zxgk.court.gov.cn', 149 | 'Referer': 'http://zxgk.court.gov.cn/shixin/new_index.html', 150 | } 151 | } 152 | 153 | headers_main = { 154 | 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8', 155 | 'Accept-Encoding': 'gzip, deflate', 156 | 'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8', 157 | 'Cache-Control': 'max-age=0', 158 | 'Content-Length': '271', 159 | 'Content-Type': 'application/x-www-form-urlencoded', 160 | 'Host': '', 161 | 'Origin': '', 162 | 'Proxy-Connection': 'keep-alive', 163 | 'Referer': '', 164 | 'Upgrade-Insecure-Requests': '1', 165 | 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36' 166 | } 167 | 168 | headers_info = { 169 | 'Accept': '*/*', 170 | 'Accept-Encoding': 'gzip, deflate', 171 | 'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8', 172 | 'Host': '', 173 | 'Proxy-Connection': 'keep-alive', 174 | 'Referer': '', 175 | 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36', 176 | 'X-Requested-With': 'XMLHttpRequest', 177 | } 178 | 179 | 180 | url_info_dict = { 181 | 'zhixing': 'http://zhixing.court.gov.cn/search/newdetail', 182 | 'shixin': 'http://zxgk.court.gov.cn/shixin/disDetail' 183 | } 184 | 185 | params_info_dict = { 186 | 'zhixing': { 187 | 'id': '12780668', 188 | 'j_captcha': 'ydwa', 189 | 'captchaId': '282a905ab0e64e90affaa997e763c7c1', 190 | '_': '1538967156193', 191 | }, 192 | 'shixin': { 193 | 'id': '704523825', 194 | 'pCode': 'mgjx', 195 | 'captchaId': '7c9240f22ee944fd96d184769c63be26' 196 | } 197 | } 198 | 199 | # file 200 | 201 | list_file = { 202 | 'zhixing': './DB/zhixing_list.txt', 203 | 'shixin': './DB/shixin_list.txt', 204 | 'baidu': './DB/baidu_list.txt' 205 | } 206 | 207 | info_file = { 208 | 'zhixing': './DB/zhixing_info.txt', 209 | 'shixin': './DB/shixin_info.txt', 210 | 'baidu': './DB/baidu_info.txt' 211 | } 212 | 213 | # baidu 214 | 215 | params_baidu = { 216 | 'resource_id': '6899', 217 | 'query': '失信被执行人名单', 218 | 'cardNum': '', 219 | 'iname': '王刚', 220 | 'areaName': '', 221 | 'pn': '10', 222 | 'rn': '10', 223 | 'ie': 'utf-8', 224 | 'oe': 'utf-8', 225 | 'format': 'json', 226 | 't': '1538984600452', 227 | '_': '1538983980644', 228 | } 229 | 230 | headers_baidu = { 231 | 'Accept': '*/*', 232 | 'Accept-Encoding': 'gzip, deflate, br', 233 | 'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8', 234 | 'Connection': 'keep-alive', 235 | 'Host': 'sp0.baidu.com', 236 | 'Referer': 'https://www.baidu.com/s?wd=%E8%A2%AB%E6%89%A7%E8%A1%8C%E4%BA%BA%E4%BF%A1%E6%81%AF%E6%9F%A5%E8%AF%A2&rsv_spt=1&rsv_iqid=0xbbfc6e7d00002167&issp=1&f=8&rsv_bp=0&rsv_idx=2&ie=utf-8&tn=baiduhome_pg&rsv_enter=1&rsv_sug3=10&rsv_sug1=7&rsv_sug7=100&rsv_t=c0ffDlsDZ0XVT4QUp2qd%2BhFnnRcy5Re%2FgBUzdaQMEft%2FWIRKJ8pfi3rvlkJ7%2FaFw9QH9', 237 | 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36' 238 | } 239 | 240 | url_baidu = 'https://sp0.baidu.com/8aQDcjqpAAV3otqbppnN2DJv/api.php' -------------------------------------------------------------------------------- /pste_spider.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | 4 | import time 5 | import config as cnf 6 | from copy import deepcopy 7 | from HTTP import RequestAPI 8 | from multiprocessing import Pool 9 | from utils import loads_json 10 | from utils import pop_msg 11 | from utils import logger 12 | 13 | """ 14 | 拿到参数 姓名+身份证 15 | 调用被执行人接口和失信被执行人接口 16 | 17 | """ 18 | 19 | # type 20 | _final_data = dict 21 | _html = str 22 | _zs_list = (list, int) 23 | _query_data = list 24 | _data = list 25 | 26 | 27 | # 与captcha模块通信 28 | class CaptchaHandler: 29 | """ 30 | 反馈,索取新的验证码,都通过这个类去执行 31 | 提供当前最新的验证码 32 | 取新的验证码 33 | """ 34 | def __init__(self): 35 | self.z_c_id = '' 36 | self.z_c_code = '' 37 | self.s_c_id = '' 38 | self.s_c_code = '' 39 | 40 | def receive_new_captcha(self, choice): 41 | """获取新的验证码""" 42 | if choice == 'zhixing': 43 | msg = pop_msg('captcha_z') 44 | else: 45 | msg = pop_msg('captcha_s') 46 | 47 | return loads_json(msg) 48 | 49 | def get_new_captcha(self, choice): 50 | msg = self.receive_new_captcha(choice) 51 | if choice == 'zhixing': 52 | self.z_c_id = msg[0] 53 | self.z_c_code = msg[1] 54 | else: 55 | self.s_c_id = msg[0] 56 | self.s_c_code = msg[1] 57 | 58 | 59 | def executoer_for_web_server(name, card) -> _final_data: 60 | """接口调用, 传入参数""" 61 | # 拿到验证码 62 | # 请求接口 63 | # 先拿列表数据,再拿详情 64 | # 需要开2个进程同时去执行 65 | api_data = { 66 | 'api_status_code': '200', 67 | 'api_msg': [], 68 | 'api_status': 'success', 69 | 'data': { 70 | 'zhixing': None, 71 | 'shixin': None, 72 | 'baidu': [] 73 | } 74 | } 75 | logger.debug('接受到请求:\t{0}\t{1}'.format(name, card)) 76 | pool = Pool(2) 77 | result = [] 78 | for i in ['zhixing', 'shixin']: 79 | result.append(pool.apply_async(run, (name, card, i))) 80 | pool.close() 81 | pool.join() 82 | api_data['data']['zhixing'] = result[0].get() 83 | api_data['data']['shixin'] = result[1].get() 84 | 85 | return api_data 86 | 87 | 88 | def run(name, card, choice) -> _data: 89 | """启动器""" 90 | switcher = { 91 | 'zhixing': get_zhixing_data, 92 | 'shixin': get_shixin_data 93 | } 94 | return switcher.get(choice)(name, card) 95 | 96 | 97 | def get_zhixing_data(name, card) -> _query_data: 98 | ch = CaptchaHandler() 99 | ch.get_new_captcha('zhixing') 100 | curr_page, pages = 1, 1 101 | retry = 2 102 | data_z = [] 103 | http = RequestAPI() 104 | while curr_page <= pages and retry > 0: 105 | html = get_zhixing_list(name, card, curr_page, http, ch) 106 | # 如果html = error 则说明该验证码无效 107 | if html == 'error': 108 | # 对于验证码错误,提交重试次数,重试为3 109 | # todo: 添加重新获取验证码部分 110 | ch.get_new_captcha('zhixing') 111 | retry -= 1 112 | continue 113 | data_list, pages = parse_zhixing_shixin_list(html) 114 | if data_list: 115 | data_info = get_zhixing_each_info(data_list, http, ch) 116 | data_z.extend(data_info) 117 | curr_page += 1 118 | return data_z 119 | 120 | 121 | def get_zhixing_list(name, card, curr_page, http, ch) -> _html: 122 | """获取被执行人数据""" 123 | url_z_list = cnf.url_z_list 124 | headers_z_list = cnf.headers_z_list 125 | payloads_z = deepcopy(cnf.payloads_z) 126 | # todo: 验证码装载部分 127 | payloads_z.update({ 128 | 'pName': name, 129 | 'pCardNum': card, 130 | 'captchaId': ch.z_c_id, 131 | 'pCode': ch.z_c_code, 132 | 'currentPage': curr_page 133 | }) 134 | html = http.receive_and_request(url=url_z_list, headers=headers_z_list, payloads=payloads_z, method='post') 135 | return html 136 | 137 | 138 | def parse_zhixing_shixin_list(data_list) -> _zs_list: 139 | """解析列表数据""" 140 | js_dict = loads_json(data_list) 141 | data, pages = [], 1 142 | if js_dict is not None: 143 | for each in js_dict[0].get('result'): 144 | name = each.get('pname') if each.get('pname') else each.get('iname') 145 | jsonObject = each.get('jsonObject') 146 | date = '' 147 | if jsonObject: 148 | d_dict = loads_json(jsonObject) 149 | date = d_dict.get('caseCreateTime') if d_dict.get('caseCreateTime') else d_dict.get('regDate') 150 | gisId = each.get('caseCode') 151 | pid = str(each.get('id')) 152 | data.append([name, date, gisId, pid]) 153 | pages = js_dict[0].get('totalPage') 154 | return data, pages 155 | 156 | 157 | def get_zhixing_each_info(data_list, http, ch) -> _data: 158 | """获取各执行人列表的详情""" 159 | data = [] 160 | headers = cnf.headers_z_info 161 | url_info = cnf.url_z_info 162 | for each in data_list: 163 | pid = each[-1] 164 | params = deepcopy(cnf.params_z_info) 165 | # todo: 添加验证码部分 166 | params.update({ 167 | 'id': pid, 168 | 'captchaId': ch.z_c_id, 169 | 'j_captcha': ch.z_c_code, 170 | '_': int(time.time()*1000) 171 | }) 172 | info = loads_json(http.receive_and_request(url=url_info, headers=headers, params=params, method='get')) 173 | if not info: 174 | # 代表验证码错误 175 | ch.get_new_captcha('zhixing') 176 | data.append(info) 177 | return data 178 | 179 | 180 | def get_shixin_data(name, card) -> _data: 181 | ch = CaptchaHandler() 182 | a = time.time() 183 | logger.debug('获取shixin的验证码') 184 | ch.get_new_captcha('shixin') 185 | b = time.time() 186 | logger.debug('完成shixin的验证码获取\t{0}'.format(b-a)) 187 | curr_page, pages = 1, 1 188 | retry = 2 189 | data_s = [] 190 | http = RequestAPI() 191 | while curr_page <= pages and retry > 0: 192 | html = get_shixin_list(name, card, curr_page, http, ch) 193 | if html == 'error' or html == 'null_html': 194 | # 验证码重试 195 | c = time.time() 196 | logger.info('shixin的captcha_id失效,重新获取并执行') 197 | ch.get_new_captcha('shixin') 198 | d = time.time() 199 | logger.info('完成shixin验证码的重新获取\t{0}'.format(d-c)) 200 | retry -= 1 201 | continue 202 | data_list, pages = parse_zhixing_shixin_list(html) 203 | if data_list: 204 | data_info = get_shixin_each_info(data_list, http, ch) 205 | data_s.extend(data_info) 206 | curr_page += 1 207 | return data_s 208 | 209 | 210 | def get_shixin_list(name, card, curr_page, http, ch) -> _html: 211 | """获取失信被执行人数据""" 212 | url_s_list = cnf.url_s_list 213 | headers = cnf.headers_s_list 214 | payloads_s = cnf.payloads_s 215 | # todo:装载验证码 216 | payloads_s.update({ 217 | 'pName': name, 218 | 'pCardNum': card, 219 | 'captchaId': ch.s_c_id, 220 | 'pCode': ch.s_c_code, 221 | 'currentPage': curr_page 222 | }) 223 | html = http.receive_and_request(url=url_s_list, headers=headers, payloads=payloads_s, method='post') 224 | return html 225 | 226 | 227 | def get_shixin_each_info(data_list, http, ch) -> _data: 228 | """获取各失信被执行人详情""" 229 | data = [] 230 | headers = cnf.headers_s_info 231 | url = cnf.url_s_info 232 | for each in data_list: 233 | params = deepcopy(cnf.params_s_info) 234 | params.update({ 235 | 'id': each[-1], 236 | 'caseCode': each[-2], 237 | 'pCode': ch.s_c_code, 238 | 'captchaId': ch.s_c_id, 239 | }) 240 | info = loads_json(http.receive_and_request(url=url, headers=headers, params=params, method='get')) 241 | if not info: 242 | # 代表验证码错误 243 | # todo: 验证码更新 244 | ch.get_new_captcha('shixin') 245 | else: 246 | data.append(info) 247 | return data 248 | 249 | 250 | -------------------------------------------------------------------------------- /CaptchaHandler.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | """ 4 | 验证码处理模块 5 | 既然页面加入了验证码的前端验证 6 | 在识别结束后,对验证码做一个验证,正确的放入队列里 7 | 8 | """ 9 | 10 | import time 11 | import logging 12 | import random 13 | import base64 14 | import captcha_ids 15 | import requests 16 | import config as cnf 17 | from copy import deepcopy 18 | from HTTP import RequestAPI 19 | from HTTP.utils import MethodCheckError 20 | from utils import load_selector 21 | from utils import loads_json 22 | from utils import connect_2_redis 23 | from utils import json_dumps 24 | from importlib import reload 25 | 26 | 27 | # type 28 | _captcha_html = tuple 29 | _captcha_list = list 30 | _ocr_result = list 31 | 32 | # log 33 | logger = logging.getLogger(name='captcha') 34 | logger.setLevel(logging.DEBUG) 35 | handler = logging.FileHandler('./captcha_log.log') 36 | fmt = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s') 37 | handler.setFormatter(fmt) 38 | logger.addHandler(handler) 39 | 40 | 41 | class Http(RequestAPI): 42 | 43 | def user_define_request(self, **kwargs): 44 | method = kwargs.get('method') 45 | if method not in ['get', 'GET', 'post', 'POST']: 46 | raise MethodCheckError 47 | url = kwargs.get('url') 48 | headers = kwargs.get('headers') 49 | cookies = kwargs.get('cookies') 50 | params = kwargs.get('params') 51 | payloads = kwargs.get('payloads') 52 | resp = self.dr.do_request(method=method, 53 | url=url, 54 | headers=headers, 55 | cookies=cookies, 56 | params=params, 57 | payloads=payloads, 58 | redirect=False) 59 | # 清理headers 60 | # 清理cookie 61 | # 关闭session 62 | html = resp[0] 63 | status = resp[1] 64 | 65 | return html, status 66 | 67 | def do_ocr(self, **kwargs): 68 | url = cnf.url_ocr 69 | payloads = kwargs.get('payloads') 70 | result = requests.post(url, data=payloads).content.decode('utf8') 71 | return result 72 | 73 | 74 | 75 | def request_home_page_2_get_captcha_id(http) -> _captcha_html: 76 | """请求2个部分的主页,获取captchaId""" 77 | html_z, s_z = http.user_define_request(url=cnf.url_z, headers=cnf.headers_z, method='get') 78 | html_s, s_s = http.user_define_request(url=cnf.url_s, headers=cnf.headers_s, method='get') 79 | return (html_z, html_s) 80 | 81 | 82 | def loads_captcha_ids(): 83 | """从本地读取验证码ids""" 84 | captcha_z = [i.strip() for i in open('./DB/captcha_z.txt', 'r', encoding='utf-8')] 85 | captcha_s = [i.strip() for i in open('./DB/captcha_s.txt', 'r', encoding='utf-8')] 86 | return captcha_z, captcha_s 87 | 88 | def parse_captcha_id(html_tuple) -> _captcha_list: 89 | cap_id = [] 90 | for each in html_tuple: 91 | selector = load_selector(each) 92 | if selector is not None: 93 | captcha_id = selector.xpath('//input[@id="captchaId"]/@value')[0] \ 94 | if selector.xpath('//input[@id="captchaId"]/@value') else None 95 | if captcha_id is not None: 96 | cap_id.append(captcha_id) 97 | return cap_id 98 | 99 | 100 | def download_pic_and_ocr(captcha_list, http) -> _ocr_result: 101 | captcha_z, captcha_s = None, None 102 | url_z = deepcopy(cnf.url_z_c).format(captcha_list[0], random.random()) 103 | url_s = deepcopy(cnf.url_s_c).format(captcha_list[1], random.random()) 104 | img_z, status_z = http.user_define_request(url=url_z, headers=cnf.headers_z, method='get') 105 | img_s, status_s = http.user_define_request(url=url_s, headers=cnf.headers_s, method='get') 106 | 107 | if status_z == 200 and status_s == 200: 108 | # ocr 109 | url_ocr = cnf.url_ocr 110 | 111 | payloads_z = { 112 | 'pic': base64.b64encode(img_z), 113 | 'type': 'pste' 114 | } 115 | payloads_s = { 116 | 'pic': base64.b64encode(img_s), 117 | 'type': 'pste' 118 | } 119 | # result_z = http.receive_and_request(url=url_ocr, payloads=payloads_z, method='post') 120 | result_z = http.do_ocr(url=url_ocr, payloads=payloads_z, method='post') 121 | # result_s = http.receive_and_request(url=url_ocr, payloads=payloads_s, method='post') 122 | result_s = http.do_ocr(url=url_ocr, payloads=payloads_s, method='post') 123 | result_dict_z = loads_json(result_z) 124 | result_dict_s = loads_json(result_s) 125 | captcha_z, captcha_s = None, None 126 | if result_dict_s is not None and result_dict_z is not None: 127 | if result_dict_s.get('status_code') == 200: 128 | captcha_s = result_dict_s.get('data').get('captcha') 129 | 130 | if result_dict_z.get('status_code') == 200: 131 | captcha_z = result_dict_z.get('data').get('captcha') 132 | 133 | return [[captcha_list[0], captcha_z], [captcha_list[1], captcha_s]] 134 | 135 | # 验证码验证环节,通过验证,则放入队列,没通过则重试 136 | 137 | def verify_ocr_push_que(captcha_tuple, http, cli) -> bool: 138 | """验证以及放入队列""" 139 | result = True 140 | captcha_z = captcha_tuple[0] 141 | captcha_s = captcha_tuple[1] 142 | url_z = deepcopy(cnf.url_z_y).format(captcha_z[0], captcha_z[1]) 143 | url_s = deepcopy(cnf.url_s_y).format(captcha_s[0], captcha_s[1]) 144 | headers_z = cnf.headers_z_y 145 | headers_s = cnf.headers_s_y 146 | resp_z = http.receive_and_request(url=url_z, headers=headers_z, method='get') 147 | resp_s = http.receive_and_request(url=url_s, headers=headers_s, method='get') 148 | logger.debug('z_status:\t{0}\ts_status:\t{1}'.format(resp_z.strip(), resp_s.strip())) 149 | if resp_z == '0': 150 | # 通过验证: 151 | result = False 152 | else: 153 | # 推入队列 154 | cli.lpush('captcha_z', json_dumps(captcha_z)) 155 | if resp_s == '0': 156 | # 通过验证 157 | result = False 158 | else: 159 | # 推入队列 160 | cli.lpush('captcha_s', json_dumps(captcha_s)) 161 | return result 162 | 163 | 164 | # 主逻辑部分 165 | 166 | # def main_logic(): 167 | # """做4件事 168 | # 1. 拿到最新的captchaId 169 | # 2. 拿到id对应的img 170 | # 3. ocr以及验证 171 | # 4. 放入队列 172 | # """ 173 | # cli = connect_2_redis() 174 | # while True: 175 | # http = Http() 176 | # try: 177 | # htmls = request_home_page_2_get_captcha_id(http) 178 | # captcha_ids = parse_captcha_id(htmls) 179 | # except: 180 | # logger.warning('主页请求错误........') 181 | # time.sleep(2) 182 | # continue 183 | # if captcha_ids and len(captcha_ids) == 2: 184 | # captcha_tuple = download_pic_and_ocr(captcha_ids, http) 185 | # logger.debug(captcha_tuple, cli.llen('captcha_z'), cli.llen('captcha_s')) 186 | # if captcha_tuple[0][1] is not None or captcha_tuple[1][1] is not None: 187 | # result = verify_ocr_push_que(captcha_tuple, http, cli) 188 | # if not result: 189 | # time.sleep(1) 190 | # continue 191 | # else: 192 | # # 队列里只有21条可用数据 193 | # cli.ltrim('captcha_z', 0, 20) 194 | # cli.ltrim('captcha_s', 0, 20) 195 | # time.sleep(3) 196 | # del http 197 | 198 | def main_new(): 199 | # 从本地读取到验证码id集 200 | 201 | # 链接redis 202 | cli = connect_2_redis() 203 | while True: 204 | http = Http() 205 | cli.ltrim('captcha_z', 0, 20) 206 | cli.ltrim('captcha_s', 0, 20) 207 | # 下载验证码 208 | cap_ids = [random.choice(captcha_ids.caps), random.choice(captcha_ids.caps)] 209 | captcha_tuple = download_pic_and_ocr(cap_ids, http) 210 | logger.debug(captcha_tuple) 211 | if captcha_tuple[0][1] is not None or captcha_tuple[1][1] is not None: 212 | result = verify_ocr_push_que(captcha_tuple, http, cli) 213 | if not result: 214 | time.sleep(1) 215 | continue 216 | time.sleep(1) 217 | del http 218 | reload(captcha_ids) 219 | 220 | if __name__ == '__main__': 221 | main_new() 222 | 223 | -------------------------------------------------------------------------------- /old/HTTP/generalRequest.py: -------------------------------------------------------------------------------- 1 | # coding=utf8 2 | 3 | """ 4 | author: wangjiawei 5 | date: 2018/07/09 6 | 7 | ############################################################################# 8 | # updatetime: 2018/08/07 添加selenium 模块,驱动firefox (个人感觉firefox稳定些) 9 | # 提供思路: 2018/08/15 10 | # 1. 支持app抓取,比如 appium 11 | # 2. 提供http/2的扩展, 熟读hyper谢谢 12 | # 3. 针对比如淘宝对selenium的封杀,熟读selenium底层 13 | 14 | ############################################################################## 15 | # updatetime: 2018/08/23 16 | 新的思路, 17 | 保持程序的蠢 18 | error应该抛出交给上层去处理 19 | ############################################################################# 20 | # updatetime: 2018/09/21 21 | 简单的修改了下代码 22 | 引入一个参数验证 23 | 至于如何处理,还没想好 24 | ############################################################################# 25 | # updatetime: 2018/09/25 26 | 说来惭愧,写了那么久爬虫,竟然没有把page、request、session、application弄清楚 27 | 在requests库里,一旦建立了session,session的cookie会持续更新,不需要额外去更新cookie 28 | 方式是累积式的,因此要记得手动去session.cookies.clear() 29 | 30 | """ 31 | 32 | import time 33 | import requests 34 | import HTTP.requests_server_config as scf 35 | from HTTP.requests_server_config import logger, filter_dict, r_sleep, error_sleep 36 | from HTTP.Utils import check_params 37 | 38 | 39 | class GeneralRequest(): 40 | """请求模块 41 | 42 | 承载了大部分功能 43 | """ 44 | 45 | def __init__(self): 46 | # 初始化的时候就创建session,并带上proxy 47 | self.s = self.establish_session() 48 | # 默认是带了代理的 49 | # 不需要代理要在适当的时候 self.delete_proxies() 50 | self.update_proxy() 51 | 52 | def establish_session(self): 53 | """创建一个session 54 | 55 | session在笔者看来就是cookie管理 56 | 使用session的目的在于,容易操作cookie 57 | """ 58 | # update: 18-09-25 59 | # session的尿性就是: 60 | # 1. 会对cookie做一个累积更新 61 | # 2. 在没用 session.xx.update({'xx': 'xx'})时候,请求都是用session自己的 62 | # 2.1 比如没有对headers进行update,session.headers还是原来的东东,各有各的长处 63 | # 3. 分清session的定义,并不是一种保持连接,而是这一个session里,通信的比如cookie会被记录下来 64 | 65 | return requests.Session() 66 | 67 | def close_session(self): 68 | """关闭session 69 | 70 | 针对页面跳转,会出现打开新的session, 71 | 当前的session也应该相应的关闭 72 | 关闭所有adapter(适配器) such as the session 73 | """ 74 | # updatetime: 2018-09-25 75 | # 这个close啊,就是个玩笑,不存在的,礼貌的用用好了 76 | 77 | self.s.close() 78 | return 79 | 80 | def GET_request(self, url): 81 | """执行get请求 82 | 83 | 首先是判断是否有参数 84 | 默认是不允许跳转的 85 | """ 86 | """ 87 | response = self.s.get(url, params=params, allow_redirects=False) \ 88 | if params is not None \ 89 | else self.s.get(url, allow_redirects=False) 90 | # 带参和不带参的处理放到请求发起的地方,这个函数就是纯粹的发起一次请求而已 91 | """ 92 | response = self.s.get(url, allow_redirects=False, timeout=30) 93 | return response 94 | 95 | def POST_request(self, url, payloads): 96 | """执行post请求 97 | 98 | 默认是不允许跳转的 99 | """ 100 | 101 | response = self.s.post(url, data=payloads, timeout=30) 102 | 103 | return response 104 | 105 | def OTHER_request(self): 106 | """执行别的请求,后期添加 107 | 108 | 接口留在这,比如 put, delete等 109 | """ 110 | pass 111 | 112 | def update_cookie_with_response(self, cookie): 113 | """通过response这个对象去更新cookie 114 | 115 | **这里一个强制性的要求就是,请求后,更新cookie** 116 | 117 | 这里需要关注,当请求的response是无效的 118 | 更新cookie时候会报错,这里需要一个错误提示 119 | """ 120 | 121 | # date: 2018-09-25 这是个没用的funs,session会自动更新其cookie,然而一开始指定的字段不会改变 122 | try: 123 | check_params(cookie) 124 | except Exception as e: 125 | # TODO 这里做一个日志输出 126 | logger.info("response更新cookie数据失败,可能请求失败\t{0}".format(e), extra=filter_dict) 127 | 128 | # cookie验证通过后,再更新cookie 129 | self.s.cookies.update(cookie) 130 | 131 | def update_cookie_with_outer(self, outer_cookie): 132 | """通过外部加载去更新cookie 133 | 通常使用场景 134 | 1. 带cookie绕过服务器验证 135 | 2. 带cookie模仿用户去请求数据 136 | """ 137 | try: 138 | check_params(outer_cookie) 139 | except Exception as e: 140 | # TODO 这里做一个日志输出 141 | logger.info("session更新外部cookie数据失败,可能请求失败\t{0}".format(e), extra=filter_dict) 142 | 143 | # cookie验证通过后,再更新cookie 144 | self.s.cookies.update(outer_cookie) 145 | return 146 | 147 | 148 | def update_headers(self, params): 149 | """通过外部传入headers更新自身的headers 150 | 151 | 可以是更新headers里的某一个字段 152 | 也可以是更新headers里的全部 153 | 154 | 执行之前应该先把其session.headers.clear() 155 | """ 156 | try: 157 | check_params(params) 158 | except Exception as e: 159 | # TODO 这里做一个日志输出 160 | logger.info("session更新headers数据失败,可能请求失败\t{0}".format(e), extra=filter_dict) 161 | 162 | self.s.headers.clear() 163 | self.s.headers.update(params) 164 | return 165 | 166 | def update_proxy(self): 167 | """这个在默认的状态下是要携带代理的 168 | 可以指定情况,不要代理 169 | """ 170 | proxy = scf.proxy 171 | self.s.proxies.update(proxy) 172 | return 173 | 174 | def discard_proxy(self): 175 | """因为在默认的状态下,session是携带proxy了的 176 | 该function就是在当前实例中取消代理 177 | """ 178 | self.s.proxies.clear() 179 | return 180 | 181 | def discard_cookies(self): 182 | """discard all cookies 183 | 删除/扔掉 所有cookie 184 | """ 185 | # self.s.cookies.clear_session_cookies() 186 | self.s.cookies.clear() 187 | return 188 | 189 | def update_params(self, params): 190 | """为了简化请求过程 191 | 将get请求的参数封装在这 192 | 先判断params是否为空 193 | """ 194 | 195 | if params is not None: 196 | self.s.params.update(params) 197 | return 198 | 199 | def discard_params(self): 200 | """删除当前session所携带的params 201 | """ 202 | self.s.params.clear() 203 | return 204 | 205 | def do_request(self, url, method, params, payloads): 206 | """根据指定的请求方式去请求""" 207 | retry = scf.retry 208 | html = 'null_html' 209 | # 有的网页直接反空,不建议用空,不好去分析原因, 210 | while retry > 0: 211 | response = None 212 | try: 213 | # 选择执行的方式 214 | if method == 'GET': 215 | # 请求前判断是否有参数,有的话添加到session里,请求后则删除 216 | self.update_params(params) 217 | response = self.GET_request(url) 218 | self.discard_params() 219 | 220 | elif method == 'POST': 221 | response = self.POST_request(url, payloads) 222 | 223 | except Exception as e: 224 | # 输出log, 这里的错误都是网络上的错误 225 | # logger.info('请求出错, 错误原因:', exc_info=True, extra=filter_dict) 226 | logger.info('请求出错, 错误原因:\t{0}'.format(e), extra=filter_dict) 227 | time.sleep(error_sleep) 228 | 229 | else: 230 | # 拿到response后,处理 231 | status_code = response.status_code 232 | is_go_on = self.deal_status_code(status_code) 233 | """ 234 | # 2018-09-25 多此一举,不需要 235 | # 更新cookie 236 | self.update_cookie_with_response(response.cookies) 237 | """ 238 | if is_go_on: 239 | # 返回html 240 | 241 | try: 242 | html = response.content.decode(scf.ec_u) 243 | except: 244 | html = response.text 245 | break 246 | retry -= 1 247 | return html 248 | 249 | 250 | def deal_status_code(self, status_code): 251 | """这个方法的意义在于服务器相应后,针对相应内容做处理 252 | 253 | 2xx: 200是正常, 203正常响应,但是返回别的东西 254 | 3xx: 重定向,在请求中已经规避了这部分 255 | 4xx: 客户端错误 256 | 5xx: 服务器错误 257 | """ 258 | 259 | """ 260 | # 针对爪子的策略,这个模块一样可以复写 261 | result = True 262 | if status_code >= 300 or status_code == 203: 263 | result = False 264 | # TODO: 添加logging 265 | logger.info('请求出现状态码异常:\t{0}'.format(status_code), extra=filter_dict) 266 | return result 267 | """ 268 | resule = True 269 | if status_code >= 300: 270 | resule = False 271 | # 同时添加log 272 | logger.info('请求出现状态码异常:\t{0}'.format(status_code), extra=filter_dict) 273 | return resule -------------------------------------------------------------------------------- /old/CaptchaHandler.py: -------------------------------------------------------------------------------- 1 | # coding=utf8 2 | 3 | """ 4 | info: 5 | 6 | - author: wangjiawei 7 | - date : 2018-09-28 8 | -quote : 失信被执行人验证码处理,该脚本负责去请求验证码,然后做识别 9 | 10 | update: 11 | 12 | 2018-09-29: 13 | 完成验证码部分的识别,将不做图片保存处理,直接在线ocr 14 | 2018-10-08: 15 | 更新逻辑 16 | 1. 请求captchaID时候偶尔会出现拿不到数据的情况,遇到这类情况,立马重新执行 17 | 2. 配合spider,队里只放一个最新的captcha 18 | 3. 针对ocr不是200的情况,都立马重新执行 19 | 20 | 2018-10-29: 21 | 更新验证码逻辑 22 | 1. 验证码在队列的数量更改为10个 23 | 2. 方式为FIFO (由spider在调取时候) 24 | 3. 始终维持队列里的验证码数据为10个 25 | 26 | 2018-10-30: 27 | 修改bug,修改计时错误的问题 28 | """ 29 | 30 | import os 31 | import random 32 | import time 33 | import base64 34 | import logging 35 | from HTTP.RequestServerApi import RequestAPI 36 | import HTTP.requests_server_config as scf 37 | from utils import parse_lxml 38 | from utils import loads_json 39 | from utils import dumps_json 40 | from utils import initial_file 41 | from utils import push_2_que 42 | from utils import do_fun_cycle 43 | from utils import do_fun_cycle_by_order 44 | from utils import overwrite_file 45 | from utils import clean_que 46 | from utils import static_msg_count 47 | import config 48 | 49 | 50 | logger = logging.getLogger() 51 | 52 | logger.setLevel(logging.INFO) # 定义为INFO是因为requests要写debug 53 | request_handler = logging.FileHandler(os.path.abspath('./log/captcha.log')) 54 | fmt = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s') 55 | request_handler.setFormatter(fmt) 56 | logger.addHandler(request_handler) 57 | """负责请求iframe,然后拿到captcha_id,保存下来""" 58 | 59 | 60 | def get_captcha_id(): 61 | """去下载一个captchaId 62 | 进入主页,找到标签,拿到结果 63 | 这里有两个id,一个是 被执行人 一个是失信被执行人 64 | """ 65 | file_shixin = config.file_captcha_shixin 66 | file_zhixin = config.file_captcha_zhixing 67 | 68 | file_shixin_h = config.file_captcha_zhixing_h 69 | file_zhixin_h = config.file_captcha_shixin_h 70 | 71 | headers = config.headers_host 72 | headers.update({'Host': config.host_zs.get('zhixing')}) 73 | headers_zhixing = headers 74 | headers.update({'Host': config.host_zs.get('shixin')}) 75 | headers_shixin = headers 76 | url_zhixing = config.url_iframe_zhixing 77 | url_shixin = config.url_iframe_shixin 78 | 79 | # 实例化请求模块 80 | ra = RequestAPI() 81 | html_zhixing = ra.receive_and_request(url=url_zhixing, headers=headers_zhixing, method='GET') 82 | html_shixin = ra.receive_and_request(url=url_shixin, headers=headers_shixin, method='GET') 83 | 84 | if html_zhixing != 'null_html' and html_shixin != 'null_html': 85 | captcha_id_zhixing = parse_captcha_id(html_zhixing) 86 | captcha_id_shixin = parse_captcha_id(html_shixin) 87 | 88 | if captcha_id_shixin is not None and captcha_id_zhixing is not None: 89 | # 做存储 90 | 91 | # 放入各自的文件里 92 | 93 | overwrite_file(file_path=file_shixin_h, ctx=captcha_id_shixin) 94 | overwrite_file(file_path=file_zhixin_h, ctx=captcha_id_zhixing) 95 | overwrite_file(file_path=file_zhixin, ctx=captcha_id_zhixing) 96 | overwrite_file(file_path=file_shixin, ctx=captcha_id_shixin) 97 | 98 | logger.info('完成captcha id 获取并写入') 99 | else: 100 | logger.warning('未完成captcha id 获取') 101 | else: 102 | logger.warning('获取captcha id 请求html过程失败') 103 | 104 | def parse_captcha_id(html): 105 | selector = parse_lxml(html) 106 | captcha_id = None 107 | if selector is not None: 108 | captcha_id = selector.xpath('//input[@id="captchaId"]/@value')[0] \ 109 | if selector.xpath('//input[@id="captchaId"]/@value') else None 110 | 111 | return captcha_id 112 | 113 | 114 | """负责请求captcha_id对于的图片,然后完成ocr,放入文件?队列?""" 115 | 116 | 117 | def download_img_and_ocr(type): 118 | """同样的去请求,然后拿到数据 119 | 需要去重写 requestAPI的 do_request 120 | 下载的过程,将 zhixing 和 shixin文件里的captchaId都下载 121 | 给个开关 122 | 123 | # 2018-10-29 在每次执行最后,将文件清空 124 | """ 125 | is_go_on = False 126 | 127 | headers = config.headers_CaptchaHandler 128 | captcha_list = [] 129 | if type == 'zhixing': 130 | captcha = config.file_captcha_zhixing 131 | headers.update({'Host': config.host_zs.get('zhixing')}) 132 | 133 | else: 134 | captcha = config.file_captcha_shixin 135 | headers.update({'Host': config.host_zs.get('shixin')}) 136 | for i in open(captcha, 'r', encoding='utf8'): 137 | url = config.url_captcha_zhixing if type == 'zhixing' else config.url_captcha_shixin 138 | params = config.params_captcha 139 | params.update({'captchaId': i.strip(), 'random': random.random()}) 140 | # 开始请求 141 | 142 | logger.info('下载验证码图片\t{0}\t{1}'.format(type, i.strip())) 143 | di = Download_img() 144 | img = di.receive_and_request(url=url, headers=headers, params=params, method='GET') 145 | if img != 'null_html': 146 | """ 147 | # 保存图片 148 | file_path = config.img_file.format(captcha) 149 | save_img(file_path=file_path, img=img) 150 | """ 151 | # 执行ocr 152 | url = config.url_svm 153 | img_d = base64.b64encode(img) 154 | payloads = { 155 | 'pic': img_d, 156 | 'type': 'pste' 157 | } 158 | result = di.receive_and_request(url=url, payloads=payloads, method='POST') 159 | try: 160 | result_dict = loads_json(result) 161 | if result_dict.get('status_code') == 200: 162 | 163 | captcha_list.append([i.strip(), result_dict.get('data').get('captcha')]) 164 | logger.info('完成图片ocr\t{0}\t{1}'.format(type, i.strip())) 165 | is_go_on = True 166 | 167 | 168 | except Exception as e: 169 | logger.warning('ocr识别失败\t{0}'.format(e)) 170 | 171 | else: 172 | logger.warning('下载验证码图片失败\t{0}\t{1}'.format(type, i.strip())) 173 | 174 | # 丢入队列里 175 | # 先要加入一个判断,列表不为空则行 176 | 177 | if captcha_list != []: 178 | que = config.que.get(type) 179 | logger.debug(captcha_list) 180 | push_2_que(que, dumps_json(captcha_list)) 181 | logger.debug('ocr结果推入队列') 182 | 183 | return is_go_on 184 | 185 | 186 | class Download_img(RequestAPI): 187 | 188 | def __init__(self): 189 | super(Download_img, self).__init__() 190 | 191 | def do_request(self, url, method, params, payloads, allow_redirects): 192 | """根据指定的请求方式去请求""" 193 | retry = scf.retry 194 | # 有的网页直接反空,不建议用空,不好去分析原因, 195 | html = 'null_html' 196 | while retry > 0: 197 | response = None 198 | try: 199 | if method == 'GET': 200 | self.update_params(params) 201 | response = self.GET_request(url, allow_redirects) 202 | self.discard_params() 203 | elif method == 'POST': 204 | response = self.POST_request(url=url, payloads=payloads) 205 | except Exception as e: 206 | # 输出log, 这里的错误都是网络上的错误 207 | scf.http_logger.info('请求出错, 错误原因:\t{0}'.format(e), extra=scf.filter_dict) 208 | time.sleep(scf.error_sleep) 209 | else: 210 | # 拿到response后,处理 211 | html = response.content 212 | break 213 | retry -= 1 214 | time.sleep(scf.r_sleep) 215 | return html 216 | 217 | """主逻辑模块""" 218 | 219 | def main_theme(): 220 | """主逻辑模块 221 | 1. 获取id 222 | 2. ocr 223 | 3. 放队列 224 | 4. 监听feedback 225 | 5.循环 226 | """ 227 | file_shixin = config.file_captcha_shixin 228 | file_zhixin = config.file_captcha_zhixing 229 | que_list = [config.que.get('zhixing'), config.que.get('shixin'), config.que.get('feedback')] 230 | 231 | """ 232 | while True: 233 | # 获取id, 执行和失信同时获取各一个 234 | # 清空队列 235 | clean_que(que_list) 236 | # 清空文件 237 | initial_file([file_shixin, file_zhixin]) 238 | # 按指定次数去迭代 239 | do_fun_cycle(get_captcha_id, captcha_count) 240 | # 执行ocr 241 | is_go_on = do_fun_cycle_by_order(download_img_and_ocr, ['zhixing', 'shixin']) 242 | if not is_go_on: 243 | # 失败ocr,重试 244 | logger.warning('ocr发生错误,重试') 245 | time.sleep(0.1) 246 | continue 247 | # 接下来休眠时间同时监听 248 | start = time.time() 249 | while int(time.time() - start) < sleep_time: 250 | # 监听数据 251 | msg = wait_msg(fb_que) 252 | if msg: 253 | break 254 | """ 255 | # 2018-10-29: 执行新逻辑 256 | # 在有效期2分钟内,要始终保持队列20个可用的,任意监听一个队列就行 257 | clean_que(que_list) 258 | 259 | start = time.time() 260 | 261 | while True: 262 | 263 | # 统计消息队列个数 264 | count = static_msg_count(que_list[0]) 265 | # 开始运行 266 | # 按指定次数去迭代 267 | if count < 10: 268 | """ 269 | # 该方法是作为先下载齐需要的,这个行不通 270 | do_fun_cycle(get_captcha_id, 20-count) 271 | # 执行ocr 272 | do_fun_cycle_by_order(download_img_and_ocr, ['zhixing', 'shixin']) 273 | """ 274 | for i in range(10-count): 275 | do_fun_cycle(get_captcha_id, 1) 276 | # 执行ocr 277 | do_fun_cycle_by_order(download_img_and_ocr, ['zhixing', 'shixin']) 278 | 279 | 280 | if time.time() - start > 120: 281 | # 超过2分钟,全部验证码失效,重新开始获取验证码 282 | # 清空队列 283 | clean_que(que_list) 284 | # 清空文件 285 | initial_file([file_shixin, file_zhixin]) 286 | start = time.time() 287 | 288 | else: 289 | time.sleep(0.1) 290 | 291 | 292 | if __name__ == '__main__': 293 | main_theme() 294 | -------------------------------------------------------------------------------- /old/DB/zhixing_info.txt: -------------------------------------------------------------------------------- 1 | {"id": 36829829, "caseCode": "(2018)辽0203执1676号", "caseState": "0", "execCourtName": "大连市西岗区人民法院", "execMoney": 84129, "partyCardNum": "37900919701****6016", "pname": "姚春", "gistId": "(2017)辽0203民初1353号", "sexname": "男性", "caseCreateTime": "2018年07月23日"} 2 | {"id": 36829829, "caseCode": "(2018)辽0203执1676号", "caseState": "0", "execCourtName": "大连市西岗区人民法院", "execMoney": 84129, "partyCardNum": "37900919701****6016", "pname": "姚春", "gistId": "(2017)辽0203民初1353号", "sexname": "男性", "caseCreateTime": "2018年07月23日"} 3 | {"id": 36829829, "caseCode": "(2018)辽0203执1676号", "caseState": "0", "execCourtName": "大连市西岗区人民法院", "execMoney": 84129, "partyCardNum": "37900919701****6016", "pname": "姚春", "gistId": "(2017)辽0203民初1353号", "sexname": "男性", "caseCreateTime": "2018年07月23日"} 4 | {"id": 36829829, "caseCode": "(2018)辽0203执1676号", "caseState": "0", "execCourtName": "大连市西岗区人民法院", "execMoney": 84129, "partyCardNum": "37900919701****6016", "pname": "姚春", "gistId": "(2017)辽0203民初1353号", "sexname": "男性", "caseCreateTime": "2018年07月23日"} 5 | {"id": 36829829, "caseCode": "(2018)辽0203执1676号", "caseState": "0", "execCourtName": "大连市西岗区人民法院", "execMoney": 84129, "partyCardNum": "37900919701****6016", "pname": "姚春", "gistId": "(2017)辽0203民初1353号", "sexname": "男性", "caseCreateTime": "2018年07月23日"} 6 | {"id": 36829829, "caseCode": "(2018)辽0203执1676号", "caseState": "0", "execCourtName": "大连市西岗区人民法院", "execMoney": 84129, "partyCardNum": "37900919701****6016", "pname": "姚春", "gistId": "(2017)辽0203民初1353号", "sexname": "男性", "caseCreateTime": "2018年07月23日"} 7 | {"id": 36829829, "caseCode": "(2018)辽0203执1676号", "caseState": "0", "execCourtName": "大连市西岗区人民法院", "execMoney": 84129, "partyCardNum": "37900919701****6016", "pname": "姚春", "gistId": "(2017)辽0203民初1353号", "sexname": "男性", "caseCreateTime": "2018年07月23日"} 8 | {"id": 36829829, "caseCode": "(2018)辽0203执1676号", "caseState": "0", "execCourtName": "大连市西岗区人民法院", "execMoney": 84129, "partyCardNum": "37900919701****6016", "pname": "姚春", "gistId": "(2017)辽0203民初1353号", "sexname": "男性", "caseCreateTime": "2018年07月23日"} 9 | {"id": 36829829, "caseCode": "(2018)辽0203执1676号", "caseState": "0", "execCourtName": "大连市西岗区人民法院", "execMoney": 84129, "partyCardNum": "37900919701****6016", "pname": "姚春", "gistId": "(2017)辽0203民初1353号", "sexname": "男性", "caseCreateTime": "2018年07月23日"} 10 | {"id": 36829829, "caseCode": "(2018)辽0203执1676号", "caseState": "0", "execCourtName": "大连市西岗区人民法院", "execMoney": 84129, "partyCardNum": "37900919701****6016", "pname": "姚春", "gistId": "(2017)辽0203民初1353号", "sexname": "男性", "caseCreateTime": "2018年07月23日"} 11 | {"id": 36829829, "caseCode": "(2018)辽0203执1676号", "caseState": "0", "execCourtName": "大连市西岗区人民法院", "execMoney": 84129, "partyCardNum": "37900919701****6016", "pname": "姚春", "gistId": "(2017)辽0203民初1353号", "sexname": "男性", "caseCreateTime": "2018年07月23日"} 12 | {"id": 36829829, "caseCode": "(2018)辽0203执1676号", "caseState": "0", "execCourtName": "大连市西岗区人民法院", "execMoney": 84129, "partyCardNum": "37900919701****6016", "pname": "姚春", "gistId": "(2017)辽0203民初1353号", "sexname": "男性", "caseCreateTime": "2018年07月23日"} 13 | {"id": 36829829, "caseCode": "(2018)辽0203执1676号", "caseState": "0", "execCourtName": "大连市西岗区人民法院", "execMoney": 84129, "partyCardNum": "37900919701****6016", "pname": "姚春", "gistId": "(2017)辽0203民初1353号", "sexname": "男性", "caseCreateTime": "2018年07月23日"} 14 | {"id": 36829829, "caseCode": "(2018)辽0203执1676号", "caseState": "0", "execCourtName": "大连市西岗区人民法院", "execMoney": 84129, "partyCardNum": "37900919701****6016", "pname": "姚春", "gistId": "(2017)辽0203民初1353号", "sexname": "男性", "caseCreateTime": "2018年07月23日"} 15 | {"id": 36829829, "caseCode": "(2018)辽0203执1676号", "caseState": "0", "execCourtName": "大连市西岗区人民法院", "execMoney": 84129, "partyCardNum": "37900919701****6016", "pname": "姚春", "gistId": "(2017)辽0203民初1353号", "sexname": "男性", "caseCreateTime": "2018年07月23日"} 16 | {"id": 36829829, "caseCode": "(2018)辽0203执1676号", "caseState": "0", "execCourtName": "大连市西岗区人民法院", "execMoney": 84129, "partyCardNum": "37900919701****6016", "pname": "姚春", "gistId": "(2017)辽0203民初1353号", "sexname": "男性", "caseCreateTime": "2018年07月23日"} 17 | {"id": 36829829, "caseCode": "(2018)辽0203执1676号", "caseState": "0", "execCourtName": "大连市西岗区人民法院", "execMoney": 84129, "partyCardNum": "37900919701****6016", "pname": "姚春", "gistId": "(2017)辽0203民初1353号", "sexname": "男性", "caseCreateTime": "2018年07月23日"} 18 | {"id": 36829829, "caseCode": "(2018)辽0203执1676号", "caseState": "0", "execCourtName": "大连市西岗区人民法院", "execMoney": 84129, "partyCardNum": "37900919701****6016", "pname": "姚春", "gistId": "(2017)辽0203民初1353号", "sexname": "男性", "caseCreateTime": "2018年07月23日"} 19 | {"id": 36829829, "caseCode": "(2018)辽0203执1676号", "caseState": "0", "execCourtName": "大连市西岗区人民法院", "execMoney": 84129, "partyCardNum": "37900919701****6016", "pname": "姚春", "gistId": "(2017)辽0203民初1353号", "sexname": "男性", "caseCreateTime": "2018年07月23日"} 20 | {"id": 36829829, "caseCode": "(2018)辽0203执1676号", "caseState": "0", "execCourtName": "大连市西岗区人民法院", "execMoney": 84129, "partyCardNum": "37900919701****6016", "pname": "姚春", "gistId": "(2017)辽0203民初1353号", "sexname": "男性", "caseCreateTime": "2018年07月23日"} 21 | {"id": 36829829, "caseCode": "(2018)辽0203执1676号", "caseState": "0", "execCourtName": "大连市西岗区人民法院", "execMoney": 84129, "partyCardNum": "37900919701****6016", "pname": "姚春", "gistId": "(2017)辽0203民初1353号", "sexname": "男性", "caseCreateTime": "2018年07月23日"} 22 | {"id": 36829829, "caseCode": "(2018)辽0203执1676号", "caseState": "0", "execCourtName": "大连市西岗区人民法院", "execMoney": 84129, "partyCardNum": "37900919701****6016", "pname": "姚春", "gistId": "(2017)辽0203民初1353号", "sexname": "男性", "caseCreateTime": "2018年07月23日"} 23 | {"id": 36829829, "caseCode": "(2018)辽0203执1676号", "caseState": "0", "execCourtName": "大连市西岗区人民法院", "execMoney": 84129, "partyCardNum": "37900919701****6016", "pname": "姚春", "gistId": "(2017)辽0203民初1353号", "sexname": "男性", "caseCreateTime": "2018年07月23日"} 24 | {"id": 36829829, "caseCode": "(2018)辽0203执1676号", "caseState": "0", "execCourtName": "大连市西岗区人民法院", "execMoney": 84129, "partyCardNum": "37900919701****6016", "pname": "姚春", "gistId": "(2017)辽0203民初1353号", "sexname": "男性", "caseCreateTime": "2018年07月23日"} 25 | {"id": 36829829, "caseCode": "(2018)辽0203执1676号", "caseState": "0", "execCourtName": "大连市西岗区人民法院", "execMoney": 84129, "partyCardNum": "37900919701****6016", "pname": "姚春", "gistId": "(2017)辽0203民初1353号", "sexname": "男性", "caseCreateTime": "2018年07月23日"} 26 | {"id": 36829829, "caseCode": "(2018)辽0203执1676号", "caseState": "0", "execCourtName": "大连市西岗区人民法院", "execMoney": 84129, "partyCardNum": "37900919701****6016", "pname": "姚春", "gistId": "(2017)辽0203民初1353号", "sexname": "男性", "caseCreateTime": "2018年07月23日"} 27 | {"id": 36829829, "caseCode": "(2018)辽0203执1676号", "caseState": "0", "execCourtName": "大连市西岗区人民法院", "execMoney": 84129, "partyCardNum": "37900919701****6016", "pname": "姚春", "gistId": "(2017)辽0203民初1353号", "sexname": "男性", "caseCreateTime": "2018年07月23日"} 28 | {"id": 36829829, "caseCode": "(2018)辽0203执1676号", "caseState": "0", "execCourtName": "大连市西岗区人民法院", "execMoney": 84129, "partyCardNum": "37900919701****6016", "pname": "姚春", "gistId": "(2017)辽0203民初1353号", "sexname": "男性", "caseCreateTime": "2018年07月23日"} 29 | {"id": 36829829, "caseCode": "(2018)辽0203执1676号", "caseState": "0", "execCourtName": "大连市西岗区人民法院", "execMoney": 84129, "partyCardNum": "37900919701****6016", "pname": "姚春", "gistId": "(2017)辽0203民初1353号", "sexname": "男性", "caseCreateTime": "2018年07月23日"} 30 | {"id": 36829829, "caseCode": "(2018)辽0203执1676号", "caseState": "0", "execCourtName": "大连市西岗区人民法院", "execMoney": 84129, "partyCardNum": "37900919701****6016", "pname": "姚春", "gistId": "(2017)辽0203民初1353号", "sexname": "男性", "caseCreateTime": "2018年07月23日"} 31 | {"id": 36829829, "caseCode": "(2018)辽0203执1676号", "caseState": "0", "execCourtName": "大连市西岗区人民法院", "execMoney": 84129, "partyCardNum": "37900919701****6016", "pname": "姚春", "gistId": "(2017)辽0203民初1353号", "sexname": "男性", "caseCreateTime": "2018年07月23日"} 32 | {"id": 36829829, "caseCode": "(2018)辽0203执1676号", "caseState": "0", "execCourtName": "大连市西岗区人民法院", "execMoney": 84129, "partyCardNum": "37900919701****6016", "pname": "姚春", "gistId": "(2017)辽0203民初1353号", "sexname": "男性", "caseCreateTime": "2018年07月23日"} 33 | {"id": 36829829, "caseCode": "(2018)辽0203执1676号", "caseState": "0", "execCourtName": "大连市西岗区人民法院", "execMoney": 84129, "partyCardNum": "37900919701****6016", "pname": "姚春", "gistId": "(2017)辽0203民初1353号", "sexname": "男性", "caseCreateTime": "2018年07月23日"} 34 | {"id": 36829829, "caseCode": "(2018)辽0203执1676号", "caseState": "0", "execCourtName": "大连市西岗区人民法院", "execMoney": 84129, "partyCardNum": "37900919701****6016", "pname": "姚春", "gistId": "(2017)辽0203民初1353号", "sexname": "男性", "caseCreateTime": "2018年07月23日"} 35 | {"id": 36829829, "caseCode": "(2018)辽0203执1676号", "caseState": "0", "execCourtName": "大连市西岗区人民法院", "execMoney": 84129, "partyCardNum": "37900919701****6016", "pname": "姚春", "gistId": "(2017)辽0203民初1353号", "sexname": "男性", "caseCreateTime": "2018年07月23日"} 36 | {"id": 36829829, "caseCode": "(2018)辽0203执1676号", "caseState": "0", "execCourtName": "大连市西岗区人民法院", "execMoney": 84129, "partyCardNum": "37900919701****6016", "pname": "姚春", "gistId": "(2017)辽0203民初1353号", "sexname": "男性", "caseCreateTime": "2018年07月23日"} 37 | {"id": 36829829, "caseCode": "(2018)辽0203执1676号", "caseState": "0", "execCourtName": "大连市西岗区人民法院", "execMoney": 84129, "partyCardNum": "37900919701****6016", "pname": "姚春", "gistId": "(2017)辽0203民初1353号", "sexname": "男性", "caseCreateTime": "2018年07月23日"} 38 | {"id": 36829829, "caseCode": "(2018)辽0203执1676号", "caseState": "0", "execCourtName": "大连市西岗区人民法院", "execMoney": 84129, "partyCardNum": "37900919701****6016", "pname": "姚春", "gistId": "(2017)辽0203民初1353号", "sexname": "男性", "caseCreateTime": "2018年07月23日"} 39 | {"id": 36829829, "caseCode": "(2018)辽0203执1676号", "caseState": "0", "execCourtName": "大连市西岗区人民法院", "execMoney": 84129, "partyCardNum": "37900919701****6016", "pname": "姚春", "gistId": "(2017)辽0203民初1353号", "sexname": "男性", "caseCreateTime": "2018年07月23日"} 40 | {"id": 36829829, "caseCode": "(2018)辽0203执1676号", "caseState": "0", "execCourtName": "大连市西岗区人民法院", "execMoney": 84129, "partyCardNum": "37900919701****6016", "pname": "姚春", "gistId": "(2017)辽0203民初1353号", "sexname": "男性", "caseCreateTime": "2018年07月23日"} 41 | {"id": 36829829, "caseCode": "(2018)辽0203执1676号", "caseState": "0", "execCourtName": "大连市西岗区人民法院", "execMoney": 84129, "partyCardNum": "37900919701****6016", "pname": "姚春", "gistId": "(2017)辽0203民初1353号", "sexname": "男性", "caseCreateTime": "2018年07月23日"} 42 | {"id": 36829829, "caseCode": "(2018)辽0203执1676号", "caseState": "0", "execCourtName": "大连市西岗区人民法院", "execMoney": 84129, "partyCardNum": "37900919701****6016", "pname": "姚春", "gistId": "(2017)辽0203民初1353号", "sexname": "男性", "caseCreateTime": "2018年07月23日"} 43 | {"id": 36829829, "caseCode": "(2018)辽0203执1676号", "caseState": "0", "execCourtName": "大连市西岗区人民法院", "execMoney": 84129, "partyCardNum": "37900919701****6016", "pname": "姚春", "gistId": "(2017)辽0203民初1353号", "sexname": "男性", "caseCreateTime": "2018年07月23日"} 44 | -------------------------------------------------------------------------------- /old/PsteSpider.py: -------------------------------------------------------------------------------- 1 | # coding=utf8 2 | 3 | 4 | """ 5 | - authot = wangjiawei 6 | - date = 2018-10-08 7 | - info = 失信被执行人抓取脚本 8 | 9 | quote: 10 | 11 | todo list: 12 | 1. 被执行人抓取 13 | 2. 失信被执行人抓取 14 | 3. 百度上被执行人数据抓取 15 | 16 | 接口输入的参数 17 | params = { 18 | 'searchCourtName': '全国法院(包含地方各级法院)', 19 | 'selectCourtId': '1', 20 | 'selectCourtArrange': '1', 21 | 'pname': '王刚', 22 | 'cardNum': '', 23 | 'j_captcha': 'aFf2', 24 | 'captchaId': '282a905ab0e64e90affaa997e763c7c1', 25 | } 26 | 流程同实行被执行人通用: 27 | 1. 接受参数,获取被执行人参数 pname, cardNum 28 | 2. 从队列获取验证码信息 29 | 3. 反馈,错误的反馈,正确的反馈,都要告诉验证码 30 | 4. 返回数据 31 | 32 | 数据说明: 33 | 拿到数据详情,返回详情。 34 | 35 | ** 会出现302的情况,代表服务器查询过多,压力大 36 | 37 | # 2018-10-29 38 | 配合验证码模块,将消息队列的 rpop变为 lpop, 讲究fifo原则 39 | 40 | """ 41 | 42 | import time 43 | import re 44 | import os 45 | import config 46 | import logging 47 | from copy import deepcopy 48 | from HTTP.RequestServerApi import RequestAPI 49 | import HTTP.requests_server_config as scf 50 | from utils import parse_lxml 51 | from utils import loads_json 52 | from utils import push_2_que 53 | from utils import recevice_msg_long 54 | from utils import dumps_json 55 | from utils import write_2_file_with_list 56 | from utils import write_2_file 57 | 58 | spider_log = logging.getLogger() 59 | 60 | spider_log.setLevel(logging.INFO) # 定义为INFO是因为requests要写debug 61 | request_handler = logging.FileHandler(os.path.abspath('./log/spider.log')) 62 | fmt = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s') 63 | request_handler.setFormatter(fmt) 64 | spider_log.addHandler(request_handler) 65 | 66 | 67 | class NewRequestAPI(RequestAPI): 68 | """需要重写状态码部分""" 69 | 70 | def do_request(self, url, method, params, payloads, allow_redirects): 71 | """根据指定的请求方式去请求""" 72 | retry = scf.retry 73 | html = 'null_html' 74 | # 有的网页直接反空,不建议用空,不好去分析原因, 75 | while retry > 0: 76 | response = None 77 | try: 78 | # 选择执行的方式 79 | if method == 'GET': 80 | # 请求前判断是否有参数,有的话添加到session里,请求后则删除 81 | self.update_params(params) 82 | response = self.GET_request(url, allow_redirects) 83 | self.discard_params() 84 | 85 | elif method == 'POST': 86 | response = self.POST_request(url, payloads) 87 | 88 | except Exception as e: 89 | # 输出log, 这里的错误都是网络上的错误 90 | scf.http_logger.info('请求出错, 错误原因:\t{0}'.format(e), extra=scf.filter_dict) 91 | time.sleep(scf.error_sleep) 92 | 93 | else: 94 | # 拿到response后,处理 95 | status_code = response.status_code 96 | 97 | if status_code == 302: 98 | html = 'wrong_request' 99 | break 100 | elif status_code < 300: 101 | try: 102 | html = response.content.decode(scf.ec_u) 103 | except: 104 | html = response.text 105 | break 106 | retry -= 1 107 | return html 108 | 109 | 110 | class GenerallySpider(): 111 | """针对被执行人、失信被执行人的通用请求脚本""" 112 | 113 | pname = '' 114 | cardNum = '' 115 | name = 'general' 116 | params = config.params_dict 117 | j_captcha = '' 118 | captchaId = '' 119 | pCode = '' 120 | fb = 'feedback' 121 | 122 | def feedback(self): 123 | """在调用这个函数,就是告知验证码识别模块,当前的验证码无效""" 124 | que = config.que.get('feedback') 125 | # 发送任意消息 126 | push_2_que(que, '1') 127 | 128 | def pop_captcha_info(self): 129 | """ 130 | 从指定的队列拿到指定的验证码数据 131 | """ 132 | pass 133 | 134 | def construct_params(self): 135 | """构建执行的params""" 136 | # 这个由各spider自定义去弄 137 | pass 138 | 139 | def construct_params_info(self, oid): 140 | """构建详情的params 141 | oid 代表改案件的id 142 | """ 143 | # 这个也是由各spider自定义去弄 144 | pass 145 | 146 | 147 | def main_logic(self): 148 | """主逻辑,组装好params, 149 | 请求数据,解析结果 150 | 拿完全部,以及每一条详情 151 | 152 | """ 153 | info = [] 154 | 155 | # 验证码失效的时候回收的信息 156 | recycle = [] 157 | 158 | list_file = config.list_file.get(self.name) 159 | 160 | # 被执行人和实行被执行人的网址不同 161 | url = config.url_dict.get(self.name) 162 | # 构建请求头然后请求获取数据 163 | headers = config.headers_main 164 | headers.update(config.headers_dict.get(self.name)) 165 | 166 | headers_info = config.headers_info 167 | headers_info.update(config.headers_info_dict.get(self.name)) 168 | 169 | api = NewRequestAPI() 170 | current_page, pages = 1, 1 171 | 172 | not_break, retry = True, 1 173 | while current_page <= pages and not_break: 174 | # 允许带着错误验证码的重试的次数为3 175 | if retry > 2: 176 | not_break = False 177 | self.params.update({'currentPage': current_page}) 178 | html = api.receive_and_request(url=url, headers=headers, payloads=self.params, method='POST') 179 | if html != 'null_html': 180 | data, pages = self.parse_list_and_pages(html) 181 | # 对data进行判断 182 | if data is None: 183 | # 重新获取验证码返回从新执行 184 | self.feedback() 185 | self.pop_captcha_info() 186 | retry += 1 187 | continue 188 | # 获取每个的详情 189 | else: 190 | # 记录数据 191 | write_2_file_with_list(list_file, data) 192 | info, recycle = self.lets_fuck_recycle(data) 193 | elif html == 'wrong_request': 194 | # 针对查询过多出现的302的处理 195 | info = ['当前查询过多,稍后再试'] 196 | break 197 | 198 | current_page += 1 199 | del api 200 | # 抓取完毕返回数据 201 | # 对recycle进行再次抓取 202 | while recycle != []: 203 | recycle_list, recycle = self.lets_fuck_recycle(recycle) 204 | info.extend(recycle_list) 205 | 206 | return info 207 | 208 | def lets_fuck_recycle(self, data): 209 | """这个函数的作用就是炒回锅肉""" 210 | info = [] 211 | recycle = [] 212 | 213 | info_file = config.info_file.get(self.name) 214 | 215 | url_info = config.url_info_dict.get(self.name) 216 | 217 | headers_info = config.headers_info 218 | headers_info.update(config.headers_info_dict.get(self.name)) 219 | 220 | api = RequestAPI() 221 | 222 | for each in data: 223 | params_info = self.construct_params_info(each[-1]) 224 | json_text = api.receive_and_request(url=url_info, headers=headers_info, params=params_info, method='GET') 225 | # 需要验证是否有数据 226 | js_dict = self.verify_json_text(json_text) 227 | if js_dict is not None: 228 | # 放回数据 229 | info.append(js_dict) 230 | # 记录数据 231 | write_2_file(info_file, dumps_json(js_dict)) 232 | else: 233 | self.feedback() 234 | self.pop_captcha_info() 235 | recycle.append(each) 236 | 237 | del params_info 238 | return info, recycle 239 | 240 | def verify_json_text(self, json_text): 241 | """验证返回的数据是否为正常""" 242 | js_dict = loads_json(json_text) 243 | return js_dict 244 | 245 | 246 | def parse_list_and_pages(self, html): 247 | selector = parse_lxml(html) 248 | data = [] 249 | pages = 1 250 | if selector is not None: 251 | data_list = selector.xpath('//table[@class="Resultlist"]/tbody/tr') 252 | # 如果为空,则验证码失效 253 | if data_list == []: 254 | # 通过对data 为None还是为[]来判断是否有验证码通过 255 | data = None 256 | 257 | return data, pages 258 | # 获取总页数 259 | pages = int(re.findall('var totalPage = (\d{1,3})', html, re.S)[0]) if\ 260 | re.findall('var totalPage = (\d{1,3})', html, re.S) else 1 261 | for each in data_list: 262 | if each.xpath('th'): 263 | continue 264 | name = each.xpath('td[2]/text()')[0] if each.xpath('td[2]/text()') else None 265 | date = each.xpath('td[3]/text()')[0] if each.xpath('td[3]/text()') else None 266 | gisId = each.xpath('td[4]/text()')[0] if each.xpath('td[4]/text()') else None 267 | pid = each.xpath('td[5]/a/@id')[0] if each.xpath('td[5]/a/@id') else None 268 | if name is not None and date is not None and gisId is not None and pid is not None: 269 | data.append([name, date, gisId, pid]) 270 | return data, pages 271 | 272 | class ZhixingSpider(GenerallySpider): 273 | """ 274 | 负责获取被执行人的数据抓取 275 | 276 | """ 277 | name = 'zhixing' 278 | 279 | def __init__(self, pname, cardNum): 280 | self.pname = pname 281 | self.cardNum = cardNum 282 | 283 | def construct_params(self): 284 | # 先获取captcha 285 | self.pop_captcha_info() 286 | # 再更新params 287 | self.params = config.params_dict.get(self.name) 288 | self.params.update({'pname': self.pname, 289 | 'cardNum': self.cardNum, 290 | 'captchaId': self.captchaId, 291 | 'j_captcha': self.j_captcha}) 292 | 293 | 294 | def pop_captcha_info(self): 295 | """ 296 | 从指定的队列拿到指定的验证码数据 297 | """ 298 | que = config.que.get(self.name) 299 | captcha = recevice_msg_long(que) 300 | self.captchaId = captcha[0][0] 301 | self.j_captcha = captcha[0][1].lower() 302 | 303 | 304 | def construct_params_info(self, oid): 305 | """构建详情需要的params""" 306 | params_info = deepcopy(config.params_info_dict.get(self.name)) 307 | params_info.update({'id': oid, 308 | 'captchaId': self.captchaId, 309 | 'j_captcha': self.j_captcha, 310 | '_': round(time.time()*1000) 311 | }) 312 | return params_info 313 | 314 | def do(self): 315 | self.construct_params() 316 | info = self.main_logic() 317 | return info 318 | 319 | 320 | class ShixinSpider(GenerallySpider): 321 | """ 322 | 负责失信被执行人的数据抓取 323 | """ 324 | name = 'shixin' 325 | 326 | def __init__(self, pname, cardNum): 327 | self.pname = pname 328 | self.cardNum = cardNum 329 | 330 | def pop_captcha_info(self): 331 | """ 332 | 从指定的队列拿到指定的验证码数据 333 | """ 334 | que = config.que.get(self.name) 335 | captcha = recevice_msg_long(que) 336 | self.captchaId = captcha[0][0] 337 | self.pCode = captcha[0][1].lower() 338 | 339 | 340 | def construct_params(self): 341 | # 先获取captcha 342 | self.pop_captcha_info() 343 | # 再更新params 344 | self.params = config.params_dict.get(self.name) 345 | self.params.update({'pName': self.pname, 346 | 'pCardNum': self.cardNum, 347 | 'captchaId': self.captchaId, 348 | 'pCode': self.pCode}) 349 | 350 | def construct_params_info(self, oid): 351 | """构建详情需要的params""" 352 | params_info = deepcopy(config.params_info_dict.get(self.name)) 353 | params_info.update({'id': oid, 354 | 'captchaId': self.captchaId, 355 | 'pCode': self.pCode 356 | }) 357 | return params_info 358 | 359 | def do(self): 360 | self.construct_params() 361 | info = self.main_logic() 362 | return info 363 | 364 | class BaiduSpider(): 365 | """ 366 | 负责从百度的api获取数据 367 | """ 368 | name = 'baidu' 369 | params = config.params_baidu 370 | url = config.url_baidu 371 | headers = config.headers_baidu 372 | baidu_list = config.list_file.get(name) 373 | 374 | def __init__(self, pname, cardNum): 375 | self.pname = pname 376 | self.cardNum = cardNum 377 | 378 | def construct_params(self): 379 | self.params.update({'iname': self.pname, 380 | 'cardNum': self.cardNum, 381 | 't': round(time.time()*1000), 382 | '_': round(time.time()*1000)}) 383 | 384 | 385 | def main_logic(self): 386 | """百度失信被执行人数据采集 387 | 有翻页的可能哦 388 | """ 389 | info = [] 390 | self.construct_params() 391 | api = RequestAPI() 392 | num, total_num = 1, 50 393 | while num*50 <= total_num: 394 | self.params.update({'pn': num*10}) 395 | html = api.receive_and_request(url=self.url, headers=self.headers, params=self.params, method='GET') 396 | if html != 'null_html': 397 | info_temp, total_num = self.parase_html(html) 398 | if info_temp != []: 399 | info.extend(info_temp) 400 | num += 1 401 | # 完成抓取后,返回结果 402 | return info 403 | 404 | def parase_html(self, html): 405 | info = [] 406 | total_num = 1 407 | js_dict = loads_json(html) 408 | if js_dict is not None: 409 | data = js_dict.get('data') 410 | if isinstance(data, list) and data != []: 411 | for i in data: 412 | for each in i.get('result'): 413 | info.append(each) 414 | # 放入持久化 415 | write_2_file(self.baidu_list, dumps_json(each)) 416 | # 还需要判断是否有下一页 417 | total_num = i.get('dispNum', 1) 418 | return info, total_num 419 | 420 | def do(self): 421 | info = self.main_logic() 422 | return info 423 | 424 | # 启动函数 425 | def run(choice, pname, cardNum): 426 | """这个run函数 427 | 承担三个作用: 428 | 1.被执行人数据抓取 429 | 2.失信被执行人数据抓取 430 | 3.百度失信被执行人数据抓取 431 | 432 | 根据相应的处理,发布不同的任务 433 | """ 434 | spider_log.debug('接收任务\t{0}'.format(choice)) 435 | switch = { 436 | 'zhixing': ZhixingSpider, 437 | 'shixin': ShixinSpider, 438 | 'baidu': BaiduSpider 439 | } 440 | # 实例化选择 441 | m = switch.get(choice)(pname, cardNum) 442 | info = m.do() 443 | del m 444 | return info 445 | -------------------------------------------------------------------------------- /captcha_log.log: -------------------------------------------------------------------------------- 1 | 2018-12-26 16:45:11,907 - DEBUG - [['15026db4a1614f22bf53626e9f2c6bbd', 'Hkin'], ['736d1b7d8f1043c39a408928a9d2622d', 'tzpk']] 2 | 2018-12-26 16:46:44,262 - DEBUG - [['45660933798a42f385759bb2aba05595', None], ['f82824e0ee0c4c18aa4dd1da7537a44f', 'yGpQ']] 3 | 2018-12-26 16:46:47,591 - DEBUG - z_status: 0 4 | s_status: 1 5 | 6 | 2018-12-26 16:46:51,187 - DEBUG - [['b7cc3de6d0584bf9914d76bdf1dfb8ab', 'GRcE'], ['40f40ff39ed04987a2bd3cd6dab63877', 'yjnh']] 7 | 2018-12-26 16:46:51,459 - DEBUG - z_status: 1 8 | s_status: 1 9 | 10 | 2018-12-26 16:46:54,880 - DEBUG - [['5893315be69b4d4bbefd4af9726af02b', 'DkFl'], ['513d662a839e4fd8874df4e706f1a33d', None]] 11 | 2018-12-26 16:46:55,149 - DEBUG - z_status: 1 12 | s_status: 0 13 | 14 | 2018-12-26 16:47:04,564 - DEBUG - [['07c923e0118c49f686f963198d3526b8', None], ['86cbc85f37024c088b1e24ded51a0eda', 'g5uR']] 15 | 2018-12-26 16:47:07,850 - DEBUG - z_status: 0 16 | s_status: 0 17 | 18 | 2018-12-26 16:47:11,340 - DEBUG - [['a128796fc48d478ba573b990157574ab', 'kpTf'], ['f0e68eb2175543cfb55a00f9dd20553c', None]] 19 | 2018-12-26 16:47:11,601 - DEBUG - z_status: 1 20 | s_status: 0 21 | 22 | 2018-12-26 16:47:18,450 - DEBUG - [['48a39e12ef1f49be96a30b4375210273', '4kA6'], ['7907dbc3772b456c8a5bd8c8f945c374', 'N4mn']] 23 | 2018-12-26 16:47:21,730 - DEBUG - z_status: 1 24 | s_status: 1 25 | 26 | 2018-12-26 16:47:32,536 - DEBUG - [['fd03ee48858a48dea4c5025951d80b6d', 'tFTz'], ['1b6db8f2a60848c396db3c16aa934e5c', '8qNj']] 27 | 2018-12-26 16:47:35,830 - DEBUG - z_status: 1 s_status: 1 28 | 2018-12-26 16:47:39,522 - DEBUG - [['494aac9d61694e409895f45479062bc9', 'vnqc'], ['cbe14d299eaa4e61a0ec15dba1698477', 'pyj7']] 29 | 2018-12-26 16:47:39,910 - DEBUG - z_status: 0 s_status: 0 30 | 2018-12-26 16:47:43,615 - DEBUG - [['2a8503ab214f468cb57394ebe9ed02f1', 'xz4w'], ['8cb0799f4b43491c8a7ed770a74167c0', 'xup8']] 31 | 2018-12-26 16:47:43,921 - DEBUG - z_status: 1 s_status: 1 32 | 2018-12-26 16:47:47,500 - DEBUG - [['ada96baed4614c9ca61b0c5f67f6dc57', 'GQxN'], ['0b451aad25d545078ac6fd72408a6b54', 'v5Hs']] 33 | 2018-12-26 16:47:47,818 - DEBUG - z_status: 1 s_status: 1 34 | 2018-12-26 16:56:07,003 - DEBUG - [['8a0b807879e5436ea619ea5adad66bf0', '8Tbg'], ['b3fa1b1ebe854b66893faaa9dcb47f35', 'Bvtz']] 35 | 2018-12-26 16:56:07,279 - DEBUG - z_status: 1 s_status: 1 36 | 2018-12-26 16:56:16,820 - DEBUG - [['69a6d3ffd5df420182bae3f6c0cb9332', 'f2iA'], ['b776f930c8154b32aa2c92a8c34384f5', '3w3M']] 37 | 2018-12-26 16:56:20,118 - DEBUG - z_status: 0 s_status: 1 38 | 2018-12-26 16:56:26,827 - DEBUG - [['226e405f7e0c4e60b9957531e4504d62', 'fi4M'], ['0800e18519eb4b8f9ba65a8209abaf36', 'kcfF']] 39 | 2018-12-26 16:56:30,137 - DEBUG - z_status: 1 s_status: 1 40 | 2018-12-26 16:56:36,637 - DEBUG - [['9f6aff1f2d3e42f896ef40bca648b595', '6tpG'], ['d6acafd599c14628b0856863c0f28056', 'grRq']] 41 | 2018-12-26 16:56:39,935 - DEBUG - z_status: 1 s_status: 0 42 | 2018-12-26 16:56:43,360 - DEBUG - [['472306962d0e479eace3cb4b90a42ace', 'sucg'], ['aa78492151554d7c8f97bec36020297a', 'c3fe']] 43 | 2018-12-26 16:56:43,647 - DEBUG - z_status: 1 s_status: 1 44 | 2018-12-26 16:56:47,069 - DEBUG - [['ec0680ee1dda4917b11dce75cfa713c0', 'sqAy'], ['4bf3e2049cfa4f71b375515bf10e56b7', None]] 45 | 2018-12-26 16:56:47,374 - DEBUG - z_status: 1 s_status: 0 46 | 2018-12-26 16:56:56,866 - DEBUG - [['40ee89ec839848f69c9cdf77860957e4', 'grst'], ['ed185bfd05b940c98f2acccc423f2555', 'j8tg']] 47 | 2018-12-26 16:57:00,127 - DEBUG - z_status: 1 s_status: 1 48 | 2018-12-26 16:57:06,483 - DEBUG - [['41ac526b2cb04fd0bed8cfb25926ed24', None], ['e6cfc53c6f534ff0aeb684dbd55bd956', 'fgcs']] 49 | 2018-12-26 16:57:09,785 - DEBUG - z_status: 0 s_status: 0 50 | 2018-12-26 16:57:13,384 - DEBUG - [['5627358eb0444104b1d4b3058f227687', None], ['19aa7e665e024ec0a6f8896d92f3c7df', '8cyg']] 51 | 2018-12-26 16:57:13,684 - DEBUG - z_status: 0 s_status: 0 52 | 2018-12-26 16:57:17,289 - DEBUG - [['af99c0ab4ac24ad882dfc8eebb7e3faa', 'RwTu'], ['d7b35aed98f14129a4b571ac8cc27a5b', '4cdg']] 53 | 2018-12-26 16:57:17,572 - DEBUG - z_status: 0 s_status: 1 54 | 2018-12-26 16:57:21,459 - DEBUG - [['b5d2ccbe15a047a2abbc4d8003537185', 'axFc'], ['46a00867aefd41708133752c6daeb805', '8Qqp']] 55 | 2018-12-26 16:57:21,723 - DEBUG - z_status: 1 s_status: 1 56 | 2018-12-26 16:57:25,182 - DEBUG - [['bbd5c67da12a459b963227ac62c20a93', 'hvgu'], ['cfc122e9a7e845b39daa7ff8508e889b', 'sEgw']] 57 | 2018-12-26 16:57:25,457 - DEBUG - z_status: 1 s_status: 1 58 | 2018-12-26 16:57:34,978 - DEBUG - [['6b5efa0a040a489899fc75a62a8bb2ef', 'ydg6'], ['e70b4ecf51244aa1ba27e40014dad5d1', 'nsNx']] 59 | 2018-12-26 16:57:35,385 - DEBUG - z_status: 0 s_status: 0 60 | 2018-12-26 16:57:44,717 - DEBUG - [['4c47a9b7feb347cb887d2a3a899c0bda', 't57p'], ['de00ceb3d2444e40b22766f3ed6580f8', None]] 61 | 2018-12-26 16:57:48,009 - DEBUG - z_status: 0 s_status: 0 62 | 2018-12-26 16:57:51,549 - DEBUG - [['8b8d58a6cb5f4d4a8968038dc05e4295', '878p'], ['061acda64360471b8f85e39a0f1bacc9', 'c5as']] 63 | 2018-12-26 16:57:51,814 - DEBUG - z_status: 1 s_status: 0 64 | 2018-12-26 16:57:55,426 - DEBUG - [['3150461b37694e9d90512866b148a567', '5zDs'], ['f0513e92ef1646a094f5165ecbe77992', None]] 65 | 2018-12-26 16:57:55,683 - DEBUG - z_status: 1 s_status: 0 66 | 2018-12-26 16:57:59,008 - DEBUG - [['a7fccdef7e45481a987997405621aa4a', 'bT7q'], ['c0d74876ae2b4b28b5822d1da9bac96a', None]] 67 | 2018-12-26 16:57:59,265 - DEBUG - z_status: 0 s_status: 0 68 | 2018-12-26 16:58:08,753 - DEBUG - [['37b9acdc751d473192e0d36cb29218b8', 'E6dz'], ['b7791951016b4d6389367b8cc87ad83f', 'jx66']] 69 | 2018-12-26 16:58:32,387 - DEBUG - z_status: 0 s_status: 0 70 | 2018-12-26 16:58:38,859 - DEBUG - [['d743fb7b07cb423e843bb1b31d1f22d4', None], ['5f913d2d98eb4791b448959e6cc26ede', 'lN8n']] 71 | 2018-12-26 16:58:42,136 - DEBUG - z_status: 0 s_status: 1 72 | 2018-12-26 16:58:48,536 - DEBUG - [['41cdede41ae54bd89cc230c0d9d82000', None], ['1af6bc22d8c545de8ef259bb8d6d9b42', 'hsAa']] 73 | 2018-12-26 16:58:51,825 - DEBUG - z_status: 0 s_status: 1 74 | 2018-12-26 16:58:55,395 - DEBUG - [['deddd35fd1714a32a096782b362eb53a', 'dtuc'], ['4fe1ad132ff34c4ab0c08f5c8fa323ed', '4pkl']] 75 | 2018-12-26 16:58:55,733 - DEBUG - z_status: 1 s_status: 1 76 | 2018-12-26 16:58:59,296 - DEBUG - [['d62772f68dd041ac92dcb3bf1b07cbc4', 'cEin'], ['69b10ae0683e4f1d995c3cba4a565a9b', 'Gxpz']] 77 | 2018-12-26 16:58:59,585 - DEBUG - z_status: 0 s_status: 1 78 | 2018-12-26 17:00:43,563 - DEBUG - [['8f51c4d037164fd382bbd0e4242543f7', '5qDg'], [None, None]] 79 | 2018-12-26 17:00:43,856 - DEBUG - z_status: 1 s_status: 0 80 | 2018-12-26 17:00:47,397 - DEBUG - [['b1b01dfad5bf4ced85e7c2316725aae9', None], ['2bc835b0fce0495681e7e26eaeceea76', 'McvR']] 81 | 2018-12-26 17:00:47,724 - DEBUG - z_status: 0 s_status: 1 82 | 2018-12-26 17:00:51,388 - DEBUG - [['9ba7bcb2391e4acba37b75f0cc989a68', '4Ggy'], ['503565e7c49b4b57862870688b3035f2', '8lgy']] 83 | 2018-12-26 17:00:51,727 - DEBUG - z_status: 0 s_status: 1 84 | 2018-12-26 17:00:55,239 - DEBUG - [['1a58c158d8bd45bd8e413f98b0cc647c', 'z7cv'], ['6a3e077a26bf436ab4a9bd38219b75e8', 'AFlN']] 85 | 2018-12-26 17:00:55,551 - DEBUG - z_status: 1 s_status: 1 86 | 2018-12-26 17:00:59,093 - DEBUG - [['84c8425c9f2346afb5380616efda56a4', 'RyqB'], ['429892cb437e40309d03cacb4fde7503', 'xNfG']] 87 | 2018-12-26 17:00:59,427 - DEBUG - z_status: 1 s_status: 1 88 | 2018-12-26 17:01:08,946 - DEBUG - [['38afaeaa35ac4983ac00b0d87468312e', 'u5pG'], ['4aabec2bb703448e86f3eaa9194d3f8e', 'qbsM']] 89 | 2018-12-26 17:01:12,338 - DEBUG - z_status: 0 s_status: 1 90 | 2018-12-26 17:01:15,737 - DEBUG - [['e4dbda61b42249aba96598bd007bcab8', None], ['5d410fa5f2c1441a9ebed1895fb9d5b1', 'rTye']] 91 | 2018-12-26 17:01:16,079 - DEBUG - z_status: 0 s_status: 1 92 | 2018-12-26 17:01:19,432 - DEBUG - [['2c632df53ef442318aea82501689d197', '4lyR'], ['e27893f975374ff59ab4080f17ce4889', None]] 93 | 2018-12-26 17:01:19,815 - DEBUG - z_status: 1 s_status: 0 94 | 2018-12-26 17:01:23,247 - DEBUG - [['72e64a4b0640479a85bf85c05754ef97', 's52b'], ['45f098b48248478591b7d83e779496c9', None]] 95 | 2018-12-26 17:02:14,153 - DEBUG - z_status: 1 s_status: 96 | 97 | 403 Forbidden 98 | 99 |

403 Forbidden

100 |

You don't have permission to access the URL on this server. Sorry for the inconvenience.
101 | Please report this message and include the following information to us.
102 | Thank you very much!

103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 |
URL:http://zxgk.court.gov.cn/shixin/checkyzm.do?captchaId=45f098b48248478591b7d83e779496c9&pCode=None
Server:proxy-vm2
Date:2018/12/26 16:55:46
117 |
Powered by Tengine 118 | 119 | 2018-12-26 17:02:20,740 - DEBUG - [['6805223e59e7409cb1b8177257e72c18', '8sys'], ['2b5e47cf906b4bcea3077088a0e6b792', 'dkEw']] 120 | 2018-12-26 17:02:24,051 - DEBUG - z_status: 0 s_status: 1 121 | 2018-12-26 17:02:27,615 - DEBUG - [['2a35cbc8fe2540548055bb5297d8f237', 'kk3l'], ['bbd6372b432d47c99870a6885b37ff99', 'xvjt']] 122 | 2018-12-26 17:02:28,062 - DEBUG - z_status: 0 s_status: 1 123 | 2018-12-26 17:02:31,677 - DEBUG - [['942d67cff19944a79fcecab209cf342e', 'khgx'], ['06a72a0040cf492996242b1c64516c28', 'vbmd']] 124 | 2018-12-26 17:02:31,999 - DEBUG - z_status: 1 s_status: 1 125 | 2018-12-26 17:02:35,252 - DEBUG - [['032cc5dff2e24940a047d01f87ff6598', None], ['9ad500c4a91c428aac99b2791dbd82a7', None]] 126 | 2018-12-26 17:02:35,558 - DEBUG - z_status: 0 s_status: 0 127 | 2018-12-26 17:02:39,227 - DEBUG - [['d1d61a8471294fb78251944d6b5ae95e', 'ux6y'], ['030187f81725438aa272e667954bf4bd', 'u5Bk']] 128 | 2018-12-26 17:02:39,525 - DEBUG - z_status: 1 s_status: 1 129 | 2018-12-26 17:02:43,012 - DEBUG - [['7ffd5123c8304fdb9614d86b90bf48d8', 'Hs2R'], ['d9daa96f2d8d4bb1ade452b3c1671b19', 'EQvN']] 130 | 2018-12-26 17:02:43,300 - DEBUG - z_status: 0 s_status: 1 131 | 2018-12-26 17:02:53,012 - DEBUG - [['97491841b747479f9672cd443ffdd43c', 'p85y'], ['80b75c466f8f43e6a2b3cc238f64e4ad', 'RakF']] 132 | 2018-12-26 17:02:56,328 - DEBUG - z_status: 1 s_status: 0 133 | 2018-12-26 17:02:59,834 - DEBUG - [['e4f46566890d411587d44f720e36bcff', 'f657'], ['3c0a775f4e564c7fa8be64faadc1acf1', 'cbMr']] 134 | 2018-12-26 17:03:00,284 - DEBUG - z_status: 0 s_status: 1 135 | 2018-12-26 17:03:03,851 - DEBUG - [['4bffc1e5ccc549daaa51b34a324b995e', 'nwgu'], ['26259cd5b45a4f1280a320138530e69f', 'wvpq']] 136 | 2018-12-26 17:03:07,160 - DEBUG - z_status: 1 s_status: 0 137 | 2018-12-26 17:03:16,592 - DEBUG - [['3cdaae54a7b64e10a817c79635805f1a', None], ['3abbc9edb5ea49b29d924bb25cc1c66e', 'e7ms']] 138 | 2018-12-26 17:03:19,907 - DEBUG - z_status: 0 s_status: 1 139 | 2018-12-26 17:03:23,512 - DEBUG - [['51e95b0e31034920b6fdc212b141dde9', 'bq8x'], ['04c3cc74a2b54674b5bb451010b5b994', 'ypkk']] 140 | 2018-12-26 17:03:23,837 - DEBUG - z_status: 0 s_status: 1 141 | 2018-12-26 17:03:27,382 - DEBUG - [['1872f0ed1bf840538d8c37bc0adf692b', 'xugs'], ['ff920f81ba2c4a129f992c090fc1fd40', 'qEu6']] 142 | 2018-12-26 17:03:27,688 - DEBUG - z_status: 0 s_status: 1 143 | 2018-12-26 17:03:31,101 - DEBUG - [['dfb5cbdf74894461bbed99fbe960637e', 'kQes'], ['2ab1b015a2314ee0bb3a2dc767511e2b', None]] 144 | 2018-12-26 17:03:31,429 - DEBUG - z_status: 0 s_status: 0 145 | 2018-12-26 17:03:40,994 - DEBUG - [['615fa0992a1b4969a3a13b7d9819761e', 'Gzw4'], ['780be0888b3b4b44871bccc1810c393c', None]] 146 | 2018-12-26 17:03:44,288 - DEBUG - z_status: 1 s_status: 0 147 | 2018-12-26 17:03:47,861 - DEBUG - [['0d286ffea713467098b4c597e4689005', 'se2e'], ['a2f027efd83d4f9695edb8e7af293cb8', None]] 148 | 2018-12-26 17:03:48,212 - DEBUG - z_status: 1 s_status: 0 149 | 2018-12-26 17:03:51,529 - DEBUG - [['4f7d647ff7064b6f80182be394bd9da2', None], ['0666ac7824cf4bdfb056df002a73976f', None]] 150 | 2018-12-26 17:03:51,895 - DEBUG - z_status: 0 s_status: 0 151 | 2018-12-26 17:03:55,483 - DEBUG - [['a91a1921dc3644fdb8f3cf1a45204c8a', 'ivks'], ['def162842fe94f2cabce7a59fdc6236d', 'cgxQ']] 152 | 2018-12-26 17:03:55,779 - DEBUG - z_status: 0 s_status: 1 153 | 2018-12-26 17:03:59,376 - DEBUG - [['34a9b426f0554073bfe791acd9d401cc', 'Muxp'], ['d8b96837cec847569427b444b8e010f2', 'cn6M']] 154 | 2018-12-26 17:03:59,692 - DEBUG - z_status: 0 s_status: 1 155 | 2018-12-26 17:04:03,310 - DEBUG - [['761b85203bf24468bba6e01c4cf26e42', 'nMQq'], ['91a20a74df4a42609d977d22dd6d0b92', 'pA3k']] 156 | 2018-12-26 17:04:03,615 - DEBUG - z_status: 1 s_status: 0 157 | 2018-12-26 17:04:07,094 - DEBUG - [['008ff60c4f0b4df6ae36e416502d09dd', 'xDar'], ['c582c93d30c845da8527513562639a10', 'wxrz']] 158 | 2018-12-26 17:04:07,397 - DEBUG - z_status: 1 s_status: 1 159 | 2018-12-26 17:04:17,032 - DEBUG - [['9098fbba094741b0a08152e7dd57d988', 'kpvE'], ['a62549b4bf3349d386a0a7fbe4ccf2e1', 'ulsq']] 160 | 2018-12-26 17:04:20,338 - DEBUG - z_status: 1 s_status: 1 161 | 2018-12-26 17:04:23,753 - DEBUG - [['e678f31699fe403dafea698b67c62983', 'a4jp'], ['404db1fd396945348252534b9e4b38c2', None]] 162 | 2018-12-26 17:04:24,086 - DEBUG - z_status: 0 s_status: 0 163 | 2018-12-26 17:04:27,575 - DEBUG - [['4b6f5ba56fac4894b0a6e6b1e4089f95', 'du6w'], ['b9f56a5b7bd340feb776db765052f761', None]] 164 | 2018-12-26 17:04:27,991 - DEBUG - z_status: 1 s_status: 0 165 | 2018-12-26 17:10:13,324 - DEBUG - [['3b1e569bb8cf45a7ab275a7a4dad346b', 'ng5q'], ['7aeb72692d724df8896ec9234e6d3fcd', None]] 166 | 2018-12-26 17:10:13,675 - DEBUG - z_status: 0 s_status: 0 167 | 2018-12-26 17:10:16,987 - DEBUG - [['9960f57aa3e2402688c3d28bbb224013', None], ['93439ebd7fc848ad9ca9683d4eccab38', 'dgks']] 168 | 2018-12-26 17:10:17,262 - DEBUG - z_status: 0 s_status: 0 169 | 2018-12-26 17:10:20,759 - DEBUG - [['6eea964ccc3d4e72a3b31c66e8fad5ea', 'bpmw'], ['a9bc58caea724266af687aae607f699e', 'mRva']] 170 | 2018-12-26 17:10:21,042 - DEBUG - z_status: 1 s_status: 1 171 | 2018-12-26 17:19:51,462 - DEBUG - [['446e2934d9404de594ae02e5b3a78f7f', None], ['9be0c1b673da4e3999f9064a55529a9f', 'eypz']] 172 | 2018-12-26 17:19:52,161 - DEBUG - z_status: 0 s_status: 1 173 | 2018-12-26 17:19:57,624 - DEBUG - [['a78570d5e2b547df98e8b5c3a9fec64c', 'wsRx'], ['b0b1a0fb0733491aa4c3f26836224f3a', '7t8M']] 174 | 2018-12-26 17:19:58,342 - DEBUG - z_status: 0 s_status: 0 175 | 2018-12-26 17:20:03,204 - DEBUG - [['43f0028f9fde4cdbb135feca51382732', 'fycE'], ['8181b9fb37dd4d1899d1802ab15c3cf6', 'uFcA']] 176 | 2018-12-26 17:20:03,770 - DEBUG - z_status: 1 s_status: 1 177 | 2018-12-26 17:20:11,801 - DEBUG - [['ab9f37ae8a544f8ebaa91b07a5173af5', None], ['30a43b75f4e14cf6ace75001a50f684a', None]] 178 | 2018-12-26 17:20:12,376 - DEBUG - z_status: 0 s_status: 0 179 | 2018-12-26 17:20:17,400 - DEBUG - [['38cf391286c449dfbe1f6e9a262c047d', 'fxGu'], ['fe393b33de344c698719c3bde8291e44', 'Fw3h']] 180 | 2018-12-26 17:20:17,970 - DEBUG - z_status: 1 s_status: 1 181 | 2018-12-26 17:20:22,725 - DEBUG - [['d6aa064edeb24fe9a29b5debb613b8c9', 'ExRB'], ['5a547df7217749d480feba20de3f0593', None]] 182 | 2018-12-26 17:20:26,308 - DEBUG - z_status: 0 s_status: 0 183 | 2018-12-26 17:20:31,207 - DEBUG - [['3bbb7ddfa67f4ec9994e99f3bf10ebf9', '64uH'], ['c738a4e34d79436582eb00fe576d283d', 'RAQ4']] 184 | 2018-12-26 17:20:31,880 - DEBUG - z_status: 1 s_status: 1 185 | 2018-12-26 17:20:39,561 - DEBUG - [['649a7a2739c9466bab69e29aa1bc95c2', 't3M6'], ['bd87d9f10878407d81ba7c47d6ebe4b4', None]] 186 | 2018-12-26 17:20:40,123 - DEBUG - z_status: 1 s_status: 0 187 | 2018-12-26 17:20:48,423 - DEBUG - [['826646ee4af0493fb9975b7d8b4a72f6', 'y7Rj'], ['b4533e400e984c74812b713f6b66e5d5', 'bbxv']] 188 | 2018-12-26 17:20:49,274 - DEBUG - z_status: 0 s_status: 1 189 | 2018-12-26 17:20:57,976 - DEBUG - [['b1dd873fdc4041838db0c1cd65e6e5c0', 'zw2s'], ['50d072462a4d402e83c49929524c8697', 'lbg7']] 190 | 2018-12-26 17:20:58,818 - DEBUG - z_status: 1 s_status: 0 191 | 2018-12-26 17:21:07,644 - DEBUG - [['ac5f59d6b9114e52861b41b4e5b1396a', 'xDuc'], ['8be79c2c416d429aa3066dcb77497be1', 'HjE3']] 192 | 2018-12-26 17:21:08,473 - DEBUG - z_status: 1 s_status: 1 193 | 2018-12-26 17:21:14,210 - DEBUG - [['3b3f5053c4924163bf6d4ff6000d6ffd', 'G6Gw'], ['aa2b5a39a2484601a69302fb53a44a39', None]] 194 | 2018-12-26 17:21:15,169 - DEBUG - z_status: 1 s_status: 0 195 | 2018-12-26 17:21:20,380 - DEBUG - [['ce55abd3888c4306b8982a6a684c0f1f', None], ['586bccddb5024f08ba637990da68ef09', None]] 196 | 2018-12-26 17:21:20,947 - DEBUG - z_status: 0 s_status: 0 197 | 2018-12-26 17:21:25,475 - DEBUG - [['665e392ebd39401c94c9a46bfbc515e1', 'E8gs'], ['73f3ba7d4d6943088b7d72cec442dcde', 'Bsc8']] 198 | 2018-12-26 17:21:25,975 - DEBUG - z_status: 0 s_status: 0 199 | 2018-12-26 17:21:30,441 - DEBUG - [['102f10823b6945c2af07cd6482ff08b9', 'H8bw'], ['11129154f4a847ffa37f9aa72eca2d0a', None]] 200 | 2018-12-26 17:21:30,982 - DEBUG - z_status: 1 s_status: 0 201 | 2018-12-26 17:21:35,356 - DEBUG - [['23726c6853144c48912f480f26f83ea7', None], ['e3baa95da33f45f98e49b3d7dbe74995', 'NBF6']] 202 | 2018-12-26 17:21:35,931 - DEBUG - z_status: 0 s_status: 0 203 | 2018-12-26 17:21:43,023 - DEBUG - [['0644293748334689bafe03e9b0d7bc4c', None], ['1c9872a56f7549ff9ee7af345da4024f', None]] 204 | 2018-12-26 17:21:46,544 - DEBUG - z_status: 0 s_status: 0 205 | 2018-12-26 17:22:08,101 - DEBUG - [['14e72d4dd4b04ef48e357e915122146c', 'uuFq'], ['643fe34725af4a93bd8f49fc1cfca206', 'pBwm']] 206 | 2018-12-26 17:22:08,775 - DEBUG - z_status: 1 s_status: 1 207 | 2018-12-26 17:22:15,039 - DEBUG - [['4c30f08608584919bb7014360b90be14', '6gq6'], ['42df5dca9c7b48898f7f504d9b08f1c9', 'bswp']] 208 | 2018-12-26 17:23:06,496 - DEBUG - z_status: 1 s_status: 0 209 | -------------------------------------------------------------------------------- /old/DB/shixin_info.txt: -------------------------------------------------------------------------------- 1 | {"id": 703970523, "iname": "付兵", "caseCode": "(2018)皖1523执246号", "age": 51, "sexy": "男性", "cardNum": "3424251967****3119", "courtName": "舒城县人民法院", "areaName": "安徽", "partyTypeName": "0", "gistId": "(2017)皖1523民初3807号", "regDate": "2018年01月17日", "gistUnit": "安徽省舒城县人民法院", "duty": "被告付兵于2018年1月15日前偿还原告安徽胜沃投资管理有限公司代偿款476460.95元,并按年利率4.7%支付自2017年8月11日起至实际清偿之日的利息;\n二、被告付兵于2018年1月15日前支付原告安徽胜沃投资管理有限公司律师代理费12000元;\n三、原告安徽胜沃投资管理有限公司对被告付兵抵押的皖NL7777奥迪牌轿车在抵押范围内就抵押物折价或者拍卖、变卖所得价款享有优先受偿权;", "performance": "全部未履行", "performedPart": "暂无", "unperformPart": "暂无", "disruptTypeName": "违反财产报告制度", "publishDate": "2018年07月15日", "qysler": []} 2 | {"id": 703799388, "iname": "付兵", "caseCode": "(2017)皖1523执2218号", "age": 50, "sexy": "男性", "cardNum": "3424251967****3119", "courtName": "舒城县人民法院", "areaName": "安徽", "partyTypeName": "0", "gistId": "(2017)皖15民终362号", "regDate": "2017年12月06日", "gistUnit": "六安市中级人民法院", "duty": "蒋爱萍、付兵所欠朱道琪借款本金169600元、利息8056元,合计177656元,于2017年3月31日前偿还3万元,余款于2017年4月底前偿还5000元,以后每月底前偿还5000元直至还清;", "performance": "全部未履行", "performedPart": "暂无", "unperformPart": "暂无", "disruptTypeName": "违反财产报告制度", "publishDate": "2018年06月29日", "qysler": []} 3 | {"id": 702132933, "iname": "付兵", "caseCode": "(2017)皖0103执2576号", "age": 50, "sexy": "男性", "cardNum": "3424251967****3119", "courtName": "合肥市庐阳区人民法院", "areaName": "安徽", "partyTypeName": "580", "gistId": "(2016)皖0103民初8161号", "regDate": "2017年07月05日", "gistUnit": "合肥市庐阳区人民法院", "duty": "(1)向申请执行人支付借款本金235739元并支付利息(自2016年10月15日起以235739元为基数按照年利率24%计算至款清之日止)、律师费7000元;\r\n(2)向申请执行人加倍支付迟延履行期间债务利息;\r\n(3)负担受理费、保全费4400元、执行费3541元。", "performance": "全部未履行", "performedPart": "暂无", "unperformPart": "暂无", "disruptTypeName": "有履行能力而拒不履行生效法律文书确定义务", "publishDate": "2017年12月27日", "qysler": []} 4 | {"id": 703970523, "iname": "付兵", "caseCode": "(2018)皖1523执246号", "age": 51, "sexy": "男性", "cardNum": "3424251967****3119", "courtName": "舒城县人民法院", "areaName": "安徽", "partyTypeName": "0", "gistId": "(2017)皖1523民初3807号", "regDate": "2018年01月17日", "gistUnit": "安徽省舒城县人民法院", "duty": "被告付兵于2018年1月15日前偿还原告安徽胜沃投资管理有限公司代偿款476460.95元,并按年利率4.7%支付自2017年8月11日起至实际清偿之日的利息;\n二、被告付兵于2018年1月15日前支付原告安徽胜沃投资管理有限公司律师代理费12000元;\n三、原告安徽胜沃投资管理有限公司对被告付兵抵押的皖NL7777奥迪牌轿车在抵押范围内就抵押物折价或者拍卖、变卖所得价款享有优先受偿权;", "performance": "全部未履行", "performedPart": "暂无", "unperformPart": "暂无", "disruptTypeName": "违反财产报告制度", "publishDate": "2018年07月15日", "qysler": []} 5 | {"id": 703799388, "iname": "付兵", "caseCode": "(2017)皖1523执2218号", "age": 50, "sexy": "男性", "cardNum": "3424251967****3119", "courtName": "舒城县人民法院", "areaName": "安徽", "partyTypeName": "0", "gistId": "(2017)皖15民终362号", "regDate": "2017年12月06日", "gistUnit": "六安市中级人民法院", "duty": "蒋爱萍、付兵所欠朱道琪借款本金169600元、利息8056元,合计177656元,于2017年3月31日前偿还3万元,余款于2017年4月底前偿还5000元,以后每月底前偿还5000元直至还清;", "performance": "全部未履行", "performedPart": "暂无", "unperformPart": "暂无", "disruptTypeName": "违反财产报告制度", "publishDate": "2018年06月29日", "qysler": []} 6 | {"id": 702132933, "iname": "付兵", "caseCode": "(2017)皖0103执2576号", "age": 50, "sexy": "男性", "cardNum": "3424251967****3119", "courtName": "合肥市庐阳区人民法院", "areaName": "安徽", "partyTypeName": "580", "gistId": "(2016)皖0103民初8161号", "regDate": "2017年07月05日", "gistUnit": "合肥市庐阳区人民法院", "duty": "(1)向申请执行人支付借款本金235739元并支付利息(自2016年10月15日起以235739元为基数按照年利率24%计算至款清之日止)、律师费7000元;\r\n(2)向申请执行人加倍支付迟延履行期间债务利息;\r\n(3)负担受理费、保全费4400元、执行费3541元。", "performance": "全部未履行", "performedPart": "暂无", "unperformPart": "暂无", "disruptTypeName": "有履行能力而拒不履行生效法律文书确定义务", "publishDate": "2017年12月27日", "qysler": []} 7 | {"id": 704556414, "iname": "姚春", "caseCode": "(2018)辽0203执1676号", "age": 47, "sexy": "男性", "cardNum": "3790091970****6016", "courtName": "大连市西岗区人民法院", "areaName": "辽宁", "partyTypeName": "0", "gistId": "(2017)辽0203民初1353号", "regDate": "2018年07月23日", "gistUnit": "大连市西岗区人民法院", "duty": "婚生子由战国波抚养,姚春每月支付抚养费5000元,登记在姚春名下的位于大连市西岗区市场街118号2单元1层2号房屋归战国波所有,姚春名下的辽BA15J8迈特威小型汽车归战国波所有,姚春名下中国建设银行存款39395.1元归战国波所有。", "performance": "全部未履行", "performedPart": "暂无", "unperformPart": "暂无", "disruptTypeName": "有履行能力而拒不履行生效法律文书确定义务", "publishDate": "2018年09月17日", "qysler": []} 8 | {"id": 704556414, "iname": "姚春", "caseCode": "(2018)辽0203执1676号", "age": 47, "sexy": "男性", "cardNum": "3790091970****6016", "courtName": "大连市西岗区人民法院", "areaName": "辽宁", "partyTypeName": "0", "gistId": "(2017)辽0203民初1353号", "regDate": "2018年07月23日", "gistUnit": "大连市西岗区人民法院", "duty": "婚生子由战国波抚养,姚春每月支付抚养费5000元,登记在姚春名下的位于大连市西岗区市场街118号2单元1层2号房屋归战国波所有,姚春名下的辽BA15J8迈特威小型汽车归战国波所有,姚春名下中国建设银行存款39395.1元归战国波所有。", "performance": "全部未履行", "performedPart": "暂无", "unperformPart": "暂无", "disruptTypeName": "有履行能力而拒不履行生效法律文书确定义务", "publishDate": "2018年09月17日", "qysler": []} 9 | {"id": 704556414, "iname": "姚春", "caseCode": "(2018)辽0203执1676号", "age": 47, "sexy": "男性", "cardNum": "3790091970****6016", "courtName": "大连市西岗区人民法院", "areaName": "辽宁", "partyTypeName": "0", "gistId": "(2017)辽0203民初1353号", "regDate": "2018年07月23日", "gistUnit": "大连市西岗区人民法院", "duty": "婚生子由战国波抚养,姚春每月支付抚养费5000元,登记在姚春名下的位于大连市西岗区市场街118号2单元1层2号房屋归战国波所有,姚春名下的辽BA15J8迈特威小型汽车归战国波所有,姚春名下中国建设银行存款39395.1元归战国波所有。", "performance": "全部未履行", "performedPart": "暂无", "unperformPart": "暂无", "disruptTypeName": "有履行能力而拒不履行生效法律文书确定义务", "publishDate": "2018年09月17日", "qysler": []} 10 | {"id": 704556414, "iname": "姚春", "caseCode": "(2018)辽0203执1676号", "age": 47, "sexy": "男性", "cardNum": "3790091970****6016", "courtName": "大连市西岗区人民法院", "areaName": "辽宁", "partyTypeName": "0", "gistId": "(2017)辽0203民初1353号", "regDate": "2018年07月23日", "gistUnit": "大连市西岗区人民法院", "duty": "婚生子由战国波抚养,姚春每月支付抚养费5000元,登记在姚春名下的位于大连市西岗区市场街118号2单元1层2号房屋归战国波所有,姚春名下的辽BA15J8迈特威小型汽车归战国波所有,姚春名下中国建设银行存款39395.1元归战国波所有。", "performance": "全部未履行", "performedPart": "暂无", "unperformPart": "暂无", "disruptTypeName": "有履行能力而拒不履行生效法律文书确定义务", "publishDate": "2018年09月17日", "qysler": []} 11 | {"id": 704556414, "iname": "姚春", "caseCode": "(2018)辽0203执1676号", "age": 47, "sexy": "男性", "cardNum": "3790091970****6016", "courtName": "大连市西岗区人民法院", "areaName": "辽宁", "partyTypeName": "0", "gistId": "(2017)辽0203民初1353号", "regDate": "2018年07月23日", "gistUnit": "大连市西岗区人民法院", "duty": "婚生子由战国波抚养,姚春每月支付抚养费5000元,登记在姚春名下的位于大连市西岗区市场街118号2单元1层2号房屋归战国波所有,姚春名下的辽BA15J8迈特威小型汽车归战国波所有,姚春名下中国建设银行存款39395.1元归战国波所有。", "performance": "全部未履行", "performedPart": "暂无", "unperformPart": "暂无", "disruptTypeName": "有履行能力而拒不履行生效法律文书确定义务", "publishDate": "2018年09月17日", "qysler": []} 12 | {"id": 704556414, "iname": "姚春", "caseCode": "(2018)辽0203执1676号", "age": 47, "sexy": "男性", "cardNum": "3790091970****6016", "courtName": "大连市西岗区人民法院", "areaName": "辽宁", "partyTypeName": "0", "gistId": "(2017)辽0203民初1353号", "regDate": "2018年07月23日", "gistUnit": "大连市西岗区人民法院", "duty": "婚生子由战国波抚养,姚春每月支付抚养费5000元,登记在姚春名下的位于大连市西岗区市场街118号2单元1层2号房屋归战国波所有,姚春名下的辽BA15J8迈特威小型汽车归战国波所有,姚春名下中国建设银行存款39395.1元归战国波所有。", "performance": "全部未履行", "performedPart": "暂无", "unperformPart": "暂无", "disruptTypeName": "有履行能力而拒不履行生效法律文书确定义务", "publishDate": "2018年09月17日", "qysler": []} 13 | {"id": 704556414, "iname": "姚春", "caseCode": "(2018)辽0203执1676号", "age": 47, "sexy": "男性", "cardNum": "3790091970****6016", "courtName": "大连市西岗区人民法院", "areaName": "辽宁", "partyTypeName": "0", "gistId": "(2017)辽0203民初1353号", "regDate": "2018年07月23日", "gistUnit": "大连市西岗区人民法院", "duty": "婚生子由战国波抚养,姚春每月支付抚养费5000元,登记在姚春名下的位于大连市西岗区市场街118号2单元1层2号房屋归战国波所有,姚春名下的辽BA15J8迈特威小型汽车归战国波所有,姚春名下中国建设银行存款39395.1元归战国波所有。", "performance": "全部未履行", "performedPart": "暂无", "unperformPart": "暂无", "disruptTypeName": "有履行能力而拒不履行生效法律文书确定义务", "publishDate": "2018年09月17日", "qysler": []} 14 | {"id": 704556414, "iname": "姚春", "caseCode": "(2018)辽0203执1676号", "age": 47, "sexy": "男性", "cardNum": "3790091970****6016", "courtName": "大连市西岗区人民法院", "areaName": "辽宁", "partyTypeName": "0", "gistId": "(2017)辽0203民初1353号", "regDate": "2018年07月23日", "gistUnit": "大连市西岗区人民法院", "duty": "婚生子由战国波抚养,姚春每月支付抚养费5000元,登记在姚春名下的位于大连市西岗区市场街118号2单元1层2号房屋归战国波所有,姚春名下的辽BA15J8迈特威小型汽车归战国波所有,姚春名下中国建设银行存款39395.1元归战国波所有。", "performance": "全部未履行", "performedPart": "暂无", "unperformPart": "暂无", "disruptTypeName": "有履行能力而拒不履行生效法律文书确定义务", "publishDate": "2018年09月17日", "qysler": []} 15 | {"id": 704556414, "iname": "姚春", "caseCode": "(2018)辽0203执1676号", "age": 47, "sexy": "男性", "cardNum": "3790091970****6016", "courtName": "大连市西岗区人民法院", "areaName": "辽宁", "partyTypeName": "0", "gistId": "(2017)辽0203民初1353号", "regDate": "2018年07月23日", "gistUnit": "大连市西岗区人民法院", "duty": "婚生子由战国波抚养,姚春每月支付抚养费5000元,登记在姚春名下的位于大连市西岗区市场街118号2单元1层2号房屋归战国波所有,姚春名下的辽BA15J8迈特威小型汽车归战国波所有,姚春名下中国建设银行存款39395.1元归战国波所有。", "performance": "全部未履行", "performedPart": "暂无", "unperformPart": "暂无", "disruptTypeName": "有履行能力而拒不履行生效法律文书确定义务", "publishDate": "2018年09月17日", "qysler": []} 16 | {"id": 704556414, "iname": "姚春", "caseCode": "(2018)辽0203执1676号", "age": 47, "sexy": "男性", "cardNum": "3790091970****6016", "courtName": "大连市西岗区人民法院", "areaName": "辽宁", "partyTypeName": "0", "gistId": "(2017)辽0203民初1353号", "regDate": "2018年07月23日", "gistUnit": "大连市西岗区人民法院", "duty": "婚生子由战国波抚养,姚春每月支付抚养费5000元,登记在姚春名下的位于大连市西岗区市场街118号2单元1层2号房屋归战国波所有,姚春名下的辽BA15J8迈特威小型汽车归战国波所有,姚春名下中国建设银行存款39395.1元归战国波所有。", "performance": "全部未履行", "performedPart": "暂无", "unperformPart": "暂无", "disruptTypeName": "有履行能力而拒不履行生效法律文书确定义务", "publishDate": "2018年09月17日", "qysler": []} 17 | {"id": 704556414, "iname": "姚春", "caseCode": "(2018)辽0203执1676号", "age": 47, "sexy": "男性", "cardNum": "3790091970****6016", "courtName": "大连市西岗区人民法院", "areaName": "辽宁", "partyTypeName": "0", "gistId": "(2017)辽0203民初1353号", "regDate": "2018年07月23日", "gistUnit": "大连市西岗区人民法院", "duty": "婚生子由战国波抚养,姚春每月支付抚养费5000元,登记在姚春名下的位于大连市西岗区市场街118号2单元1层2号房屋归战国波所有,姚春名下的辽BA15J8迈特威小型汽车归战国波所有,姚春名下中国建设银行存款39395.1元归战国波所有。", "performance": "全部未履行", "performedPart": "暂无", "unperformPart": "暂无", "disruptTypeName": "有履行能力而拒不履行生效法律文书确定义务", "publishDate": "2018年09月17日", "qysler": []} 18 | {"id": 704556414, "iname": "姚春", "caseCode": "(2018)辽0203执1676号", "age": 47, "sexy": "男性", "cardNum": "3790091970****6016", "courtName": "大连市西岗区人民法院", "areaName": "辽宁", "partyTypeName": "0", "gistId": "(2017)辽0203民初1353号", "regDate": "2018年07月23日", "gistUnit": "大连市西岗区人民法院", "duty": "婚生子由战国波抚养,姚春每月支付抚养费5000元,登记在姚春名下的位于大连市西岗区市场街118号2单元1层2号房屋归战国波所有,姚春名下的辽BA15J8迈特威小型汽车归战国波所有,姚春名下中国建设银行存款39395.1元归战国波所有。", "performance": "全部未履行", "performedPart": "暂无", "unperformPart": "暂无", "disruptTypeName": "有履行能力而拒不履行生效法律文书确定义务", "publishDate": "2018年09月17日", "qysler": []} 19 | {"id": 704556414, "iname": "姚春", "caseCode": "(2018)辽0203执1676号", "age": 47, "sexy": "男性", "cardNum": "3790091970****6016", "courtName": "大连市西岗区人民法院", "areaName": "辽宁", "partyTypeName": "0", "gistId": "(2017)辽0203民初1353号", "regDate": "2018年07月23日", "gistUnit": "大连市西岗区人民法院", "duty": "婚生子由战国波抚养,姚春每月支付抚养费5000元,登记在姚春名下的位于大连市西岗区市场街118号2单元1层2号房屋归战国波所有,姚春名下的辽BA15J8迈特威小型汽车归战国波所有,姚春名下中国建设银行存款39395.1元归战国波所有。", "performance": "全部未履行", "performedPart": "暂无", "unperformPart": "暂无", "disruptTypeName": "有履行能力而拒不履行生效法律文书确定义务", "publishDate": "2018年09月17日", "qysler": []} 20 | {"id": 704556414, "iname": "姚春", "caseCode": "(2018)辽0203执1676号", "age": 47, "sexy": "男性", "cardNum": "3790091970****6016", "courtName": "大连市西岗区人民法院", "areaName": "辽宁", "partyTypeName": "0", "gistId": "(2017)辽0203民初1353号", "regDate": "2018年07月23日", "gistUnit": "大连市西岗区人民法院", "duty": "婚生子由战国波抚养,姚春每月支付抚养费5000元,登记在姚春名下的位于大连市西岗区市场街118号2单元1层2号房屋归战国波所有,姚春名下的辽BA15J8迈特威小型汽车归战国波所有,姚春名下中国建设银行存款39395.1元归战国波所有。", "performance": "全部未履行", "performedPart": "暂无", "unperformPart": "暂无", "disruptTypeName": "有履行能力而拒不履行生效法律文书确定义务", "publishDate": "2018年09月17日", "qysler": []} 21 | {"id": 704556414, "iname": "姚春", "caseCode": "(2018)辽0203执1676号", "age": 47, "sexy": "男性", "cardNum": "3790091970****6016", "courtName": "大连市西岗区人民法院", "areaName": "辽宁", "partyTypeName": "0", "gistId": "(2017)辽0203民初1353号", "regDate": "2018年07月23日", "gistUnit": "大连市西岗区人民法院", "duty": "婚生子由战国波抚养,姚春每月支付抚养费5000元,登记在姚春名下的位于大连市西岗区市场街118号2单元1层2号房屋归战国波所有,姚春名下的辽BA15J8迈特威小型汽车归战国波所有,姚春名下中国建设银行存款39395.1元归战国波所有。", "performance": "全部未履行", "performedPart": "暂无", "unperformPart": "暂无", "disruptTypeName": "有履行能力而拒不履行生效法律文书确定义务", "publishDate": "2018年09月17日", "qysler": []} 22 | {"id": 704556414, "iname": "姚春", "caseCode": "(2018)辽0203执1676号", "age": 47, "sexy": "男性", "cardNum": "3790091970****6016", "courtName": "大连市西岗区人民法院", "areaName": "辽宁", "partyTypeName": "0", "gistId": "(2017)辽0203民初1353号", "regDate": "2018年07月23日", "gistUnit": "大连市西岗区人民法院", "duty": "婚生子由战国波抚养,姚春每月支付抚养费5000元,登记在姚春名下的位于大连市西岗区市场街118号2单元1层2号房屋归战国波所有,姚春名下的辽BA15J8迈特威小型汽车归战国波所有,姚春名下中国建设银行存款39395.1元归战国波所有。", "performance": "全部未履行", "performedPart": "暂无", "unperformPart": "暂无", "disruptTypeName": "有履行能力而拒不履行生效法律文书确定义务", "publishDate": "2018年09月17日", "qysler": []} 23 | {"id": 703970523, "iname": "付兵", "caseCode": "(2018)皖1523执246号", "age": 51, "sexy": "男性", "cardNum": "3424251967****3119", "courtName": "舒城县人民法院", "areaName": "安徽", "partyTypeName": "0", "gistId": "(2017)皖1523民初3807号", "regDate": "2018年01月17日", "gistUnit": "安徽省舒城县人民法院", "duty": "被告付兵于2018年1月15日前偿还原告安徽胜沃投资管理有限公司代偿款476460.95元,并按年利率4.7%支付自2017年8月11日起至实际清偿之日的利息;\n二、被告付兵于2018年1月15日前支付原告安徽胜沃投资管理有限公司律师代理费12000元;\n三、原告安徽胜沃投资管理有限公司对被告付兵抵押的皖NL7777奥迪牌轿车在抵押范围内就抵押物折价或者拍卖、变卖所得价款享有优先受偿权;", "performance": "全部未履行", "performedPart": "暂无", "unperformPart": "暂无", "disruptTypeName": "违反财产报告制度", "publishDate": "2018年07月15日", "qysler": []} 24 | {"id": 703799388, "iname": "付兵", "caseCode": "(2017)皖1523执2218号", "age": 50, "sexy": "男性", "cardNum": "3424251967****3119", "courtName": "舒城县人民法院", "areaName": "安徽", "partyTypeName": "0", "gistId": "(2017)皖15民终362号", "regDate": "2017年12月06日", "gistUnit": "六安市中级人民法院", "duty": "蒋爱萍、付兵所欠朱道琪借款本金169600元、利息8056元,合计177656元,于2017年3月31日前偿还3万元,余款于2017年4月底前偿还5000元,以后每月底前偿还5000元直至还清;", "performance": "全部未履行", "performedPart": "暂无", "unperformPart": "暂无", "disruptTypeName": "违反财产报告制度", "publishDate": "2018年06月29日", "qysler": []} 25 | {"id": 702132933, "iname": "付兵", "caseCode": "(2017)皖0103执2576号", "age": 50, "sexy": "男性", "cardNum": "3424251967****3119", "courtName": "合肥市庐阳区人民法院", "areaName": "安徽", "partyTypeName": "580", "gistId": "(2016)皖0103民初8161号", "regDate": "2017年07月05日", "gistUnit": "合肥市庐阳区人民法院", "duty": "(1)向申请执行人支付借款本金235739元并支付利息(自2016年10月15日起以235739元为基数按照年利率24%计算至款清之日止)、律师费7000元;\r\n(2)向申请执行人加倍支付迟延履行期间债务利息;\r\n(3)负担受理费、保全费4400元、执行费3541元。", "performance": "全部未履行", "performedPart": "暂无", "unperformPart": "暂无", "disruptTypeName": "有履行能力而拒不履行生效法律文书确定义务", "publishDate": "2017年12月27日", "qysler": []} 26 | {"id": 703970523, "iname": "付兵", "caseCode": "(2018)皖1523执246号", "age": 51, "sexy": "男性", "cardNum": "3424251967****3119", "courtName": "舒城县人民法院", "areaName": "安徽", "partyTypeName": "0", "gistId": "(2017)皖1523民初3807号", "regDate": "2018年01月17日", "gistUnit": "安徽省舒城县人民法院", "duty": "被告付兵于2018年1月15日前偿还原告安徽胜沃投资管理有限公司代偿款476460.95元,并按年利率4.7%支付自2017年8月11日起至实际清偿之日的利息;\n二、被告付兵于2018年1月15日前支付原告安徽胜沃投资管理有限公司律师代理费12000元;\n三、原告安徽胜沃投资管理有限公司对被告付兵抵押的皖NL7777奥迪牌轿车在抵押范围内就抵押物折价或者拍卖、变卖所得价款享有优先受偿权;", "performance": "全部未履行", "performedPart": "暂无", "unperformPart": "暂无", "disruptTypeName": "违反财产报告制度", "publishDate": "2018年07月15日", "qysler": []} 27 | {"id": 703799388, "iname": "付兵", "caseCode": "(2017)皖1523执2218号", "age": 50, "sexy": "男性", "cardNum": "3424251967****3119", "courtName": "舒城县人民法院", "areaName": "安徽", "partyTypeName": "0", "gistId": "(2017)皖15民终362号", "regDate": "2017年12月06日", "gistUnit": "六安市中级人民法院", "duty": "蒋爱萍、付兵所欠朱道琪借款本金169600元、利息8056元,合计177656元,于2017年3月31日前偿还3万元,余款于2017年4月底前偿还5000元,以后每月底前偿还5000元直至还清;", "performance": "全部未履行", "performedPart": "暂无", "unperformPart": "暂无", "disruptTypeName": "违反财产报告制度", "publishDate": "2018年06月29日", "qysler": []} 28 | {"id": 702132933, "iname": "付兵", "caseCode": "(2017)皖0103执2576号", "age": 50, "sexy": "男性", "cardNum": "3424251967****3119", "courtName": "合肥市庐阳区人民法院", "areaName": "安徽", "partyTypeName": "580", "gistId": "(2016)皖0103民初8161号", "regDate": "2017年07月05日", "gistUnit": "合肥市庐阳区人民法院", "duty": "(1)向申请执行人支付借款本金235739元并支付利息(自2016年10月15日起以235739元为基数按照年利率24%计算至款清之日止)、律师费7000元;\r\n(2)向申请执行人加倍支付迟延履行期间债务利息;\r\n(3)负担受理费、保全费4400元、执行费3541元。", "performance": "全部未履行", "performedPart": "暂无", "unperformPart": "暂无", "disruptTypeName": "有履行能力而拒不履行生效法律文书确定义务", "publishDate": "2017年12月27日", "qysler": []} 29 | {"id": 703970523, "iname": "付兵", "caseCode": "(2018)皖1523执246号", "age": 51, "sexy": "男性", "cardNum": "3424251967****3119", "courtName": "舒城县人民法院", "areaName": "安徽", "partyTypeName": "0", "gistId": "(2017)皖1523民初3807号", "regDate": "2018年01月17日", "gistUnit": "安徽省舒城县人民法院", "duty": "被告付兵于2018年1月15日前偿还原告安徽胜沃投资管理有限公司代偿款476460.95元,并按年利率4.7%支付自2017年8月11日起至实际清偿之日的利息;\n二、被告付兵于2018年1月15日前支付原告安徽胜沃投资管理有限公司律师代理费12000元;\n三、原告安徽胜沃投资管理有限公司对被告付兵抵押的皖NL7777奥迪牌轿车在抵押范围内就抵押物折价或者拍卖、变卖所得价款享有优先受偿权;", "performance": "全部未履行", "performedPart": "暂无", "unperformPart": "暂无", "disruptTypeName": "违反财产报告制度", "publishDate": "2018年07月15日", "qysler": []} 30 | {"id": 703799388, "iname": "付兵", "caseCode": "(2017)皖1523执2218号", "age": 50, "sexy": "男性", "cardNum": "3424251967****3119", "courtName": "舒城县人民法院", "areaName": "安徽", "partyTypeName": "0", "gistId": "(2017)皖15民终362号", "regDate": "2017年12月06日", "gistUnit": "六安市中级人民法院", "duty": "蒋爱萍、付兵所欠朱道琪借款本金169600元、利息8056元,合计177656元,于2017年3月31日前偿还3万元,余款于2017年4月底前偿还5000元,以后每月底前偿还5000元直至还清;", "performance": "全部未履行", "performedPart": "暂无", "unperformPart": "暂无", "disruptTypeName": "违反财产报告制度", "publishDate": "2018年06月29日", "qysler": []} 31 | {"id": 702132933, "iname": "付兵", "caseCode": "(2017)皖0103执2576号", "age": 50, "sexy": "男性", "cardNum": "3424251967****3119", "courtName": "合肥市庐阳区人民法院", "areaName": "安徽", "partyTypeName": "580", "gistId": "(2016)皖0103民初8161号", "regDate": "2017年07月05日", "gistUnit": "合肥市庐阳区人民法院", "duty": "(1)向申请执行人支付借款本金235739元并支付利息(自2016年10月15日起以235739元为基数按照年利率24%计算至款清之日止)、律师费7000元;\r\n(2)向申请执行人加倍支付迟延履行期间债务利息;\r\n(3)负担受理费、保全费4400元、执行费3541元。", "performance": "全部未履行", "performedPart": "暂无", "unperformPart": "暂无", "disruptTypeName": "有履行能力而拒不履行生效法律文书确定义务", "publishDate": "2017年12月27日", "qysler": []} 32 | {"id": 703970523, "iname": "付兵", "caseCode": "(2018)皖1523执246号", "age": 51, "sexy": "男性", "cardNum": "3424251967****3119", "courtName": "舒城县人民法院", "areaName": "安徽", "partyTypeName": "0", "gistId": "(2017)皖1523民初3807号", "regDate": "2018年01月17日", "gistUnit": "安徽省舒城县人民法院", "duty": "被告付兵于2018年1月15日前偿还原告安徽胜沃投资管理有限公司代偿款476460.95元,并按年利率4.7%支付自2017年8月11日起至实际清偿之日的利息;\n二、被告付兵于2018年1月15日前支付原告安徽胜沃投资管理有限公司律师代理费12000元;\n三、原告安徽胜沃投资管理有限公司对被告付兵抵押的皖NL7777奥迪牌轿车在抵押范围内就抵押物折价或者拍卖、变卖所得价款享有优先受偿权;", "performance": "全部未履行", "performedPart": "暂无", "unperformPart": "暂无", "disruptTypeName": "违反财产报告制度", "publishDate": "2018年07月15日", "qysler": []} 33 | {"id": 703799388, "iname": "付兵", "caseCode": "(2017)皖1523执2218号", "age": 50, "sexy": "男性", "cardNum": "3424251967****3119", "courtName": "舒城县人民法院", "areaName": "安徽", "partyTypeName": "0", "gistId": "(2017)皖15民终362号", "regDate": "2017年12月06日", "gistUnit": "六安市中级人民法院", "duty": "蒋爱萍、付兵所欠朱道琪借款本金169600元、利息8056元,合计177656元,于2017年3月31日前偿还3万元,余款于2017年4月底前偿还5000元,以后每月底前偿还5000元直至还清;", "performance": "全部未履行", "performedPart": "暂无", "unperformPart": "暂无", "disruptTypeName": "违反财产报告制度", "publishDate": "2018年06月29日", "qysler": []} 34 | {"id": 702132933, "iname": "付兵", "caseCode": "(2017)皖0103执2576号", "age": 50, "sexy": "男性", "cardNum": "3424251967****3119", "courtName": "合肥市庐阳区人民法院", "areaName": "安徽", "partyTypeName": "580", "gistId": "(2016)皖0103民初8161号", "regDate": "2017年07月05日", "gistUnit": "合肥市庐阳区人民法院", "duty": "(1)向申请执行人支付借款本金235739元并支付利息(自2016年10月15日起以235739元为基数按照年利率24%计算至款清之日止)、律师费7000元;\r\n(2)向申请执行人加倍支付迟延履行期间债务利息;\r\n(3)负担受理费、保全费4400元、执行费3541元。", "performance": "全部未履行", "performedPart": "暂无", "unperformPart": "暂无", "disruptTypeName": "有履行能力而拒不履行生效法律文书确定义务", "publishDate": "2017年12月27日", "qysler": []} 35 | {"id": 703970523, "iname": "付兵", "caseCode": "(2018)皖1523执246号", "age": 51, "sexy": "男性", "cardNum": "3424251967****3119", "courtName": "舒城县人民法院", "areaName": "安徽", "partyTypeName": "0", "gistId": "(2017)皖1523民初3807号", "regDate": "2018年01月17日", "gistUnit": "安徽省舒城县人民法院", "duty": "被告付兵于2018年1月15日前偿还原告安徽胜沃投资管理有限公司代偿款476460.95元,并按年利率4.7%支付自2017年8月11日起至实际清偿之日的利息;\n二、被告付兵于2018年1月15日前支付原告安徽胜沃投资管理有限公司律师代理费12000元;\n三、原告安徽胜沃投资管理有限公司对被告付兵抵押的皖NL7777奥迪牌轿车在抵押范围内就抵押物折价或者拍卖、变卖所得价款享有优先受偿权;", "performance": "全部未履行", "performedPart": "暂无", "unperformPart": "暂无", "disruptTypeName": "违反财产报告制度", "publishDate": "2018年07月15日", "qysler": []} 36 | {"id": 703799388, "iname": "付兵", "caseCode": "(2017)皖1523执2218号", "age": 50, "sexy": "男性", "cardNum": "3424251967****3119", "courtName": "舒城县人民法院", "areaName": "安徽", "partyTypeName": "0", "gistId": "(2017)皖15民终362号", "regDate": "2017年12月06日", "gistUnit": "六安市中级人民法院", "duty": "蒋爱萍、付兵所欠朱道琪借款本金169600元、利息8056元,合计177656元,于2017年3月31日前偿还3万元,余款于2017年4月底前偿还5000元,以后每月底前偿还5000元直至还清;", "performance": "全部未履行", "performedPart": "暂无", "unperformPart": "暂无", "disruptTypeName": "违反财产报告制度", "publishDate": "2018年06月29日", "qysler": []} 37 | {"id": 702132933, "iname": "付兵", "caseCode": "(2017)皖0103执2576号", "age": 50, "sexy": "男性", "cardNum": "3424251967****3119", "courtName": "合肥市庐阳区人民法院", "areaName": "安徽", "partyTypeName": "580", "gistId": "(2016)皖0103民初8161号", "regDate": "2017年07月05日", "gistUnit": "合肥市庐阳区人民法院", "duty": "(1)向申请执行人支付借款本金235739元并支付利息(自2016年10月15日起以235739元为基数按照年利率24%计算至款清之日止)、律师费7000元;\r\n(2)向申请执行人加倍支付迟延履行期间债务利息;\r\n(3)负担受理费、保全费4400元、执行费3541元。", "performance": "全部未履行", "performedPart": "暂无", "unperformPart": "暂无", "disruptTypeName": "有履行能力而拒不履行生效法律文书确定义务", "publishDate": "2017年12月27日", "qysler": []} 38 | {"id": 703970523, "iname": "付兵", "caseCode": "(2018)皖1523执246号", "age": 51, "sexy": "男性", "cardNum": "3424251967****3119", "courtName": "舒城县人民法院", "areaName": "安徽", "partyTypeName": "0", "gistId": "(2017)皖1523民初3807号", "regDate": "2018年01月17日", "gistUnit": "安徽省舒城县人民法院", "duty": "被告付兵于2018年1月15日前偿还原告安徽胜沃投资管理有限公司代偿款476460.95元,并按年利率4.7%支付自2017年8月11日起至实际清偿之日的利息;\n二、被告付兵于2018年1月15日前支付原告安徽胜沃投资管理有限公司律师代理费12000元;\n三、原告安徽胜沃投资管理有限公司对被告付兵抵押的皖NL7777奥迪牌轿车在抵押范围内就抵押物折价或者拍卖、变卖所得价款享有优先受偿权;", "performance": "全部未履行", "performedPart": "暂无", "unperformPart": "暂无", "disruptTypeName": "违反财产报告制度", "publishDate": "2018年07月15日", "qysler": []} 39 | {"id": 703799388, "iname": "付兵", "caseCode": "(2017)皖1523执2218号", "age": 50, "sexy": "男性", "cardNum": "3424251967****3119", "courtName": "舒城县人民法院", "areaName": "安徽", "partyTypeName": "0", "gistId": "(2017)皖15民终362号", "regDate": "2017年12月06日", "gistUnit": "六安市中级人民法院", "duty": "蒋爱萍、付兵所欠朱道琪借款本金169600元、利息8056元,合计177656元,于2017年3月31日前偿还3万元,余款于2017年4月底前偿还5000元,以后每月底前偿还5000元直至还清;", "performance": "全部未履行", "performedPart": "暂无", "unperformPart": "暂无", "disruptTypeName": "违反财产报告制度", "publishDate": "2018年06月29日", "qysler": []} 40 | {"id": 702132933, "iname": "付兵", "caseCode": "(2017)皖0103执2576号", "age": 50, "sexy": "男性", "cardNum": "3424251967****3119", "courtName": "合肥市庐阳区人民法院", "areaName": "安徽", "partyTypeName": "580", "gistId": "(2016)皖0103民初8161号", "regDate": "2017年07月05日", "gistUnit": "合肥市庐阳区人民法院", "duty": "(1)向申请执行人支付借款本金235739元并支付利息(自2016年10月15日起以235739元为基数按照年利率24%计算至款清之日止)、律师费7000元;\r\n(2)向申请执行人加倍支付迟延履行期间债务利息;\r\n(3)负担受理费、保全费4400元、执行费3541元。", "performance": "全部未履行", "performedPart": "暂无", "unperformPart": "暂无", "disruptTypeName": "有履行能力而拒不履行生效法律文书确定义务", "publishDate": "2017年12月27日", "qysler": []} 41 | {"id": 703970523, "iname": "付兵", "caseCode": "(2018)皖1523执246号", "age": 51, "sexy": "男性", "cardNum": "3424251967****3119", "courtName": "舒城县人民法院", "areaName": "安徽", "partyTypeName": "0", "gistId": "(2017)皖1523民初3807号", "regDate": "2018年01月17日", "gistUnit": "安徽省舒城县人民法院", "duty": "被告付兵于2018年1月15日前偿还原告安徽胜沃投资管理有限公司代偿款476460.95元,并按年利率4.7%支付自2017年8月11日起至实际清偿之日的利息;\n二、被告付兵于2018年1月15日前支付原告安徽胜沃投资管理有限公司律师代理费12000元;\n三、原告安徽胜沃投资管理有限公司对被告付兵抵押的皖NL7777奥迪牌轿车在抵押范围内就抵押物折价或者拍卖、变卖所得价款享有优先受偿权;", "performance": "全部未履行", "performedPart": "暂无", "unperformPart": "暂无", "disruptTypeName": "违反财产报告制度", "publishDate": "2018年07月15日", "qysler": []} 42 | {"id": 703799388, "iname": "付兵", "caseCode": "(2017)皖1523执2218号", "age": 50, "sexy": "男性", "cardNum": "3424251967****3119", "courtName": "舒城县人民法院", "areaName": "安徽", "partyTypeName": "0", "gistId": "(2017)皖15民终362号", "regDate": "2017年12月06日", "gistUnit": "六安市中级人民法院", "duty": "蒋爱萍、付兵所欠朱道琪借款本金169600元、利息8056元,合计177656元,于2017年3月31日前偿还3万元,余款于2017年4月底前偿还5000元,以后每月底前偿还5000元直至还清;", "performance": "全部未履行", "performedPart": "暂无", "unperformPart": "暂无", "disruptTypeName": "违反财产报告制度", "publishDate": "2018年06月29日", "qysler": []} 43 | {"id": 702132933, "iname": "付兵", "caseCode": "(2017)皖0103执2576号", "age": 50, "sexy": "男性", "cardNum": "3424251967****3119", "courtName": "合肥市庐阳区人民法院", "areaName": "安徽", "partyTypeName": "580", "gistId": "(2016)皖0103民初8161号", "regDate": "2017年07月05日", "gistUnit": "合肥市庐阳区人民法院", "duty": "(1)向申请执行人支付借款本金235739元并支付利息(自2016年10月15日起以235739元为基数按照年利率24%计算至款清之日止)、律师费7000元;\r\n(2)向申请执行人加倍支付迟延履行期间债务利息;\r\n(3)负担受理费、保全费4400元、执行费3541元。", "performance": "全部未履行", "performedPart": "暂无", "unperformPart": "暂无", "disruptTypeName": "有履行能力而拒不履行生效法律文书确定义务", "publishDate": "2017年12月27日", "qysler": []} 44 | {"id": 704556414, "iname": "姚春", "caseCode": "(2018)辽0203执1676号", "age": 47, "sexy": "男性", "cardNum": "3790091970****6016", "courtName": "大连市西岗区人民法院", "areaName": "辽宁", "partyTypeName": "0", "gistId": "(2017)辽0203民初1353号", "regDate": "2018年07月23日", "gistUnit": "大连市西岗区人民法院", "duty": "婚生子由战国波抚养,姚春每月支付抚养费5000元,登记在姚春名下的位于大连市西岗区市场街118号2单元1层2号房屋归战国波所有,姚春名下的辽BA15J8迈特威小型汽车归战国波所有,姚春名下中国建设银行存款39395.1元归战国波所有。", "performance": "全部未履行", "performedPart": "暂无", "unperformPart": "暂无", "disruptTypeName": "有履行能力而拒不履行生效法律文书确定义务", "publishDate": "2018年09月17日", "qysler": []} 45 | {"id": 704556414, "iname": "姚春", "caseCode": "(2018)辽0203执1676号", "age": 47, "sexy": "男性", "cardNum": "3790091970****6016", "courtName": "大连市西岗区人民法院", "areaName": "辽宁", "partyTypeName": "0", "gistId": "(2017)辽0203民初1353号", "regDate": "2018年07月23日", "gistUnit": "大连市西岗区人民法院", "duty": "婚生子由战国波抚养,姚春每月支付抚养费5000元,登记在姚春名下的位于大连市西岗区市场街118号2单元1层2号房屋归战国波所有,姚春名下的辽BA15J8迈特威小型汽车归战国波所有,姚春名下中国建设银行存款39395.1元归战国波所有。", "performance": "全部未履行", "performedPart": "暂无", "unperformPart": "暂无", "disruptTypeName": "有履行能力而拒不履行生效法律文书确定义务", "publishDate": "2018年09月17日", "qysler": []} 46 | {"id": 704556414, "iname": "姚春", "caseCode": "(2018)辽0203执1676号", "age": 47, "sexy": "男性", "cardNum": "3790091970****6016", "courtName": "大连市西岗区人民法院", "areaName": "辽宁", "partyTypeName": "0", "gistId": "(2017)辽0203民初1353号", "regDate": "2018年07月23日", "gistUnit": "大连市西岗区人民法院", "duty": "婚生子由战国波抚养,姚春每月支付抚养费5000元,登记在姚春名下的位于大连市西岗区市场街118号2单元1层2号房屋归战国波所有,姚春名下的辽BA15J8迈特威小型汽车归战国波所有,姚春名下中国建设银行存款39395.1元归战国波所有。", "performance": "全部未履行", "performedPart": "暂无", "unperformPart": "暂无", "disruptTypeName": "有履行能力而拒不履行生效法律文书确定义务", "publishDate": "2018年09月17日", "qysler": []} 47 | {"id": 704556414, "iname": "姚春", "caseCode": "(2018)辽0203执1676号", "age": 47, "sexy": "男性", "cardNum": "3790091970****6016", "courtName": "大连市西岗区人民法院", "areaName": "辽宁", "partyTypeName": "0", "gistId": "(2017)辽0203民初1353号", "regDate": "2018年07月23日", "gistUnit": "大连市西岗区人民法院", "duty": "婚生子由战国波抚养,姚春每月支付抚养费5000元,登记在姚春名下的位于大连市西岗区市场街118号2单元1层2号房屋归战国波所有,姚春名下的辽BA15J8迈特威小型汽车归战国波所有,姚春名下中国建设银行存款39395.1元归战国波所有。", "performance": "全部未履行", "performedPart": "暂无", "unperformPart": "暂无", "disruptTypeName": "有履行能力而拒不履行生效法律文书确定义务", "publishDate": "2018年09月17日", "qysler": []} 48 | {"id": 704556414, "iname": "姚春", "caseCode": "(2018)辽0203执1676号", "age": 47, "sexy": "男性", "cardNum": "3790091970****6016", "courtName": "大连市西岗区人民法院", "areaName": "辽宁", "partyTypeName": "0", "gistId": "(2017)辽0203民初1353号", "regDate": "2018年07月23日", "gistUnit": "大连市西岗区人民法院", "duty": "婚生子由战国波抚养,姚春每月支付抚养费5000元,登记在姚春名下的位于大连市西岗区市场街118号2单元1层2号房屋归战国波所有,姚春名下的辽BA15J8迈特威小型汽车归战国波所有,姚春名下中国建设银行存款39395.1元归战国波所有。", "performance": "全部未履行", "performedPart": "暂无", "unperformPart": "暂无", "disruptTypeName": "有履行能力而拒不履行生效法律文书确定义务", "publishDate": "2018年09月17日", "qysler": []} 49 | {"id": 704556414, "iname": "姚春", "caseCode": "(2018)辽0203执1676号", "age": 47, "sexy": "男性", "cardNum": "3790091970****6016", "courtName": "大连市西岗区人民法院", "areaName": "辽宁", "partyTypeName": "0", "gistId": "(2017)辽0203民初1353号", "regDate": "2018年07月23日", "gistUnit": "大连市西岗区人民法院", "duty": "婚生子由战国波抚养,姚春每月支付抚养费5000元,登记在姚春名下的位于大连市西岗区市场街118号2单元1层2号房屋归战国波所有,姚春名下的辽BA15J8迈特威小型汽车归战国波所有,姚春名下中国建设银行存款39395.1元归战国波所有。", "performance": "全部未履行", "performedPart": "暂无", "unperformPart": "暂无", "disruptTypeName": "有履行能力而拒不履行生效法律文书确定义务", "publishDate": "2018年09月17日", "qysler": []} 50 | {"id": 704556414, "iname": "姚春", "caseCode": "(2018)辽0203执1676号", "age": 47, "sexy": "男性", "cardNum": "3790091970****6016", "courtName": "大连市西岗区人民法院", "areaName": "辽宁", "partyTypeName": "0", "gistId": "(2017)辽0203民初1353号", "regDate": "2018年07月23日", "gistUnit": "大连市西岗区人民法院", "duty": "婚生子由战国波抚养,姚春每月支付抚养费5000元,登记在姚春名下的位于大连市西岗区市场街118号2单元1层2号房屋归战国波所有,姚春名下的辽BA15J8迈特威小型汽车归战国波所有,姚春名下中国建设银行存款39395.1元归战国波所有。", "performance": "全部未履行", "performedPart": "暂无", "unperformPart": "暂无", "disruptTypeName": "有履行能力而拒不履行生效法律文书确定义务", "publishDate": "2018年09月17日", "qysler": []} 51 | {"id": 704556414, "iname": "姚春", "caseCode": "(2018)辽0203执1676号", "age": 47, "sexy": "男性", "cardNum": "3790091970****6016", "courtName": "大连市西岗区人民法院", "areaName": "辽宁", "partyTypeName": "0", "gistId": "(2017)辽0203民初1353号", "regDate": "2018年07月23日", "gistUnit": "大连市西岗区人民法院", "duty": "婚生子由战国波抚养,姚春每月支付抚养费5000元,登记在姚春名下的位于大连市西岗区市场街118号2单元1层2号房屋归战国波所有,姚春名下的辽BA15J8迈特威小型汽车归战国波所有,姚春名下中国建设银行存款39395.1元归战国波所有。", "performance": "全部未履行", "performedPart": "暂无", "unperformPart": "暂无", "disruptTypeName": "有履行能力而拒不履行生效法律文书确定义务", "publishDate": "2018年09月17日", "qysler": []} 52 | {"id": 704556414, "iname": "姚春", "caseCode": "(2018)辽0203执1676号", "age": 47, "sexy": "男性", "cardNum": "3790091970****6016", "courtName": "大连市西岗区人民法院", "areaName": "辽宁", "partyTypeName": "0", "gistId": "(2017)辽0203民初1353号", "regDate": "2018年07月23日", "gistUnit": "大连市西岗区人民法院", "duty": "婚生子由战国波抚养,姚春每月支付抚养费5000元,登记在姚春名下的位于大连市西岗区市场街118号2单元1层2号房屋归战国波所有,姚春名下的辽BA15J8迈特威小型汽车归战国波所有,姚春名下中国建设银行存款39395.1元归战国波所有。", "performance": "全部未履行", "performedPart": "暂无", "unperformPart": "暂无", "disruptTypeName": "有履行能力而拒不履行生效法律文书确定义务", "publishDate": "2018年09月17日", "qysler": []} 53 | {"id": 704556414, "iname": "姚春", "caseCode": "(2018)辽0203执1676号", "age": 47, "sexy": "男性", "cardNum": "3790091970****6016", "courtName": "大连市西岗区人民法院", "areaName": "辽宁", "partyTypeName": "0", "gistId": "(2017)辽0203民初1353号", "regDate": "2018年07月23日", "gistUnit": "大连市西岗区人民法院", "duty": "婚生子由战国波抚养,姚春每月支付抚养费5000元,登记在姚春名下的位于大连市西岗区市场街118号2单元1层2号房屋归战国波所有,姚春名下的辽BA15J8迈特威小型汽车归战国波所有,姚春名下中国建设银行存款39395.1元归战国波所有。", "performance": "全部未履行", "performedPart": "暂无", "unperformPart": "暂无", "disruptTypeName": "有履行能力而拒不履行生效法律文书确定义务", "publishDate": "2018年09月17日", "qysler": []} 54 | {"id": 704556414, "iname": "姚春", "caseCode": "(2018)辽0203执1676号", "age": 47, "sexy": "男性", "cardNum": "3790091970****6016", "courtName": "大连市西岗区人民法院", "areaName": "辽宁", "partyTypeName": "0", "gistId": "(2017)辽0203民初1353号", "regDate": "2018年07月23日", "gistUnit": "大连市西岗区人民法院", "duty": "婚生子由战国波抚养,姚春每月支付抚养费5000元,登记在姚春名下的位于大连市西岗区市场街118号2单元1层2号房屋归战国波所有,姚春名下的辽BA15J8迈特威小型汽车归战国波所有,姚春名下中国建设银行存款39395.1元归战国波所有。", "performance": "全部未履行", "performedPart": "暂无", "unperformPart": "暂无", "disruptTypeName": "有履行能力而拒不履行生效法律文书确定义务", "publishDate": "2018年09月17日", "qysler": []} 55 | {"id": 704556414, "iname": "姚春", "caseCode": "(2018)辽0203执1676号", "age": 47, "sexy": "男性", "cardNum": "3790091970****6016", "courtName": "大连市西岗区人民法院", "areaName": "辽宁", "partyTypeName": "0", "gistId": "(2017)辽0203民初1353号", "regDate": "2018年07月23日", "gistUnit": "大连市西岗区人民法院", "duty": "婚生子由战国波抚养,姚春每月支付抚养费5000元,登记在姚春名下的位于大连市西岗区市场街118号2单元1层2号房屋归战国波所有,姚春名下的辽BA15J8迈特威小型汽车归战国波所有,姚春名下中国建设银行存款39395.1元归战国波所有。", "performance": "全部未履行", "performedPart": "暂无", "unperformPart": "暂无", "disruptTypeName": "有履行能力而拒不履行生效法律文书确定义务", "publishDate": "2018年09月17日", "qysler": []} 56 | {"id": 704556414, "iname": "姚春", "caseCode": "(2018)辽0203执1676号", "age": 47, "sexy": "男性", "cardNum": "3790091970****6016", "courtName": "大连市西岗区人民法院", "areaName": "辽宁", "partyTypeName": "0", "gistId": "(2017)辽0203民初1353号", "regDate": "2018年07月23日", "gistUnit": "大连市西岗区人民法院", "duty": "婚生子由战国波抚养,姚春每月支付抚养费5000元,登记在姚春名下的位于大连市西岗区市场街118号2单元1层2号房屋归战国波所有,姚春名下的辽BA15J8迈特威小型汽车归战国波所有,姚春名下中国建设银行存款39395.1元归战国波所有。", "performance": "全部未履行", "performedPart": "暂无", "unperformPart": "暂无", "disruptTypeName": "有履行能力而拒不履行生效法律文书确定义务", "publishDate": "2018年09月17日", "qysler": []} 57 | {"id": 704556414, "iname": "姚春", "caseCode": "(2018)辽0203执1676号", "age": 47, "sexy": "男性", "cardNum": "3790091970****6016", "courtName": "大连市西岗区人民法院", "areaName": "辽宁", "partyTypeName": "0", "gistId": "(2017)辽0203民初1353号", "regDate": "2018年07月23日", "gistUnit": "大连市西岗区人民法院", "duty": "婚生子由战国波抚养,姚春每月支付抚养费5000元,登记在姚春名下的位于大连市西岗区市场街118号2单元1层2号房屋归战国波所有,姚春名下的辽BA15J8迈特威小型汽车归战国波所有,姚春名下中国建设银行存款39395.1元归战国波所有。", "performance": "全部未履行", "performedPart": "暂无", "unperformPart": "暂无", "disruptTypeName": "有履行能力而拒不履行生效法律文书确定义务", "publishDate": "2018年09月17日", "qysler": []} 58 | {"id": 704556414, "iname": "姚春", "caseCode": "(2018)辽0203执1676号", "age": 47, "sexy": "男性", "cardNum": "3790091970****6016", "courtName": "大连市西岗区人民法院", "areaName": "辽宁", "partyTypeName": "0", "gistId": "(2017)辽0203民初1353号", "regDate": "2018年07月23日", "gistUnit": "大连市西岗区人民法院", "duty": "婚生子由战国波抚养,姚春每月支付抚养费5000元,登记在姚春名下的位于大连市西岗区市场街118号2单元1层2号房屋归战国波所有,姚春名下的辽BA15J8迈特威小型汽车归战国波所有,姚春名下中国建设银行存款39395.1元归战国波所有。", "performance": "全部未履行", "performedPart": "暂无", "unperformPart": "暂无", "disruptTypeName": "有履行能力而拒不履行生效法律文书确定义务", "publishDate": "2018年09月17日", "qysler": []} 59 | {"id": 704556414, "iname": "姚春", "caseCode": "(2018)辽0203执1676号", "age": 47, "sexy": "男性", "cardNum": "3790091970****6016", "courtName": "大连市西岗区人民法院", "areaName": "辽宁", "partyTypeName": "0", "gistId": "(2017)辽0203民初1353号", "regDate": "2018年07月23日", "gistUnit": "大连市西岗区人民法院", "duty": "婚生子由战国波抚养,姚春每月支付抚养费5000元,登记在姚春名下的位于大连市西岗区市场街118号2单元1层2号房屋归战国波所有,姚春名下的辽BA15J8迈特威小型汽车归战国波所有,姚春名下中国建设银行存款39395.1元归战国波所有。", "performance": "全部未履行", "performedPart": "暂无", "unperformPart": "暂无", "disruptTypeName": "有履行能力而拒不履行生效法律文书确定义务", "publishDate": "2018年09月17日", "qysler": []} 60 | {"id": 704556414, "iname": "姚春", "caseCode": "(2018)辽0203执1676号", "age": 47, "sexy": "男性", "cardNum": "3790091970****6016", "courtName": "大连市西岗区人民法院", "areaName": "辽宁", "partyTypeName": "0", "gistId": "(2017)辽0203民初1353号", "regDate": "2018年07月23日", "gistUnit": "大连市西岗区人民法院", "duty": "婚生子由战国波抚养,姚春每月支付抚养费5000元,登记在姚春名下的位于大连市西岗区市场街118号2单元1层2号房屋归战国波所有,姚春名下的辽BA15J8迈特威小型汽车归战国波所有,姚春名下中国建设银行存款39395.1元归战国波所有。", "performance": "全部未履行", "performedPart": "暂无", "unperformPart": "暂无", "disruptTypeName": "有履行能力而拒不履行生效法律文书确定义务", "publishDate": "2018年09月17日", "qysler": []} 61 | {"id": 704556414, "iname": "姚春", "caseCode": "(2018)辽0203执1676号", "age": 47, "sexy": "男性", "cardNum": "3790091970****6016", "courtName": "大连市西岗区人民法院", "areaName": "辽宁", "partyTypeName": "0", "gistId": "(2017)辽0203民初1353号", "regDate": "2018年07月23日", "gistUnit": "大连市西岗区人民法院", "duty": "婚生子由战国波抚养,姚春每月支付抚养费5000元,登记在姚春名下的位于大连市西岗区市场街118号2单元1层2号房屋归战国波所有,姚春名下的辽BA15J8迈特威小型汽车归战国波所有,姚春名下中国建设银行存款39395.1元归战国波所有。", "performance": "全部未履行", "performedPart": "暂无", "unperformPart": "暂无", "disruptTypeName": "有履行能力而拒不履行生效法律文书确定义务", "publishDate": "2018年09月17日", "qysler": []} 62 | {"id": 704556414, "iname": "姚春", "caseCode": "(2018)辽0203执1676号", "age": 47, "sexy": "男性", "cardNum": "3790091970****6016", "courtName": "大连市西岗区人民法院", "areaName": "辽宁", "partyTypeName": "0", "gistId": "(2017)辽0203民初1353号", "regDate": "2018年07月23日", "gistUnit": "大连市西岗区人民法院", "duty": "婚生子由战国波抚养,姚春每月支付抚养费5000元,登记在姚春名下的位于大连市西岗区市场街118号2单元1层2号房屋归战国波所有,姚春名下的辽BA15J8迈特威小型汽车归战国波所有,姚春名下中国建设银行存款39395.1元归战国波所有。", "performance": "全部未履行", "performedPart": "暂无", "unperformPart": "暂无", "disruptTypeName": "有履行能力而拒不履行生效法律文书确定义务", "publishDate": "2018年09月17日", "qysler": []} 63 | {"id": 704556414, "iname": "姚春", "caseCode": "(2018)辽0203执1676号", "age": 47, "sexy": "男性", "cardNum": "3790091970****6016", "courtName": "大连市西岗区人民法院", "areaName": "辽宁", "partyTypeName": "0", "gistId": "(2017)辽0203民初1353号", "regDate": "2018年07月23日", "gistUnit": "大连市西岗区人民法院", "duty": "婚生子由战国波抚养,姚春每月支付抚养费5000元,登记在姚春名下的位于大连市西岗区市场街118号2单元1层2号房屋归战国波所有,姚春名下的辽BA15J8迈特威小型汽车归战国波所有,姚春名下中国建设银行存款39395.1元归战国波所有。", "performance": "全部未履行", "performedPart": "暂无", "unperformPart": "暂无", "disruptTypeName": "有履行能力而拒不履行生效法律文书确定义务", "publishDate": "2018年09月17日", "qysler": []} 64 | {"id": 704556414, "iname": "姚春", "caseCode": "(2018)辽0203执1676号", "age": 47, "sexy": "男性", "cardNum": "3790091970****6016", "courtName": "大连市西岗区人民法院", "areaName": "辽宁", "partyTypeName": "0", "gistId": "(2017)辽0203民初1353号", "regDate": "2018年07月23日", "gistUnit": "大连市西岗区人民法院", "duty": "婚生子由战国波抚养,姚春每月支付抚养费5000元,登记在姚春名下的位于大连市西岗区市场街118号2单元1层2号房屋归战国波所有,姚春名下的辽BA15J8迈特威小型汽车归战国波所有,姚春名下中国建设银行存款39395.1元归战国波所有。", "performance": "全部未履行", "performedPart": "暂无", "unperformPart": "暂无", "disruptTypeName": "有履行能力而拒不履行生效法律文书确定义务", "publishDate": "2018年09月17日", "qysler": []} 65 | {"id": 704556414, "iname": "姚春", "caseCode": "(2018)辽0203执1676号", "age": 47, "sexy": "男性", "cardNum": "3790091970****6016", "courtName": "大连市西岗区人民法院", "areaName": "辽宁", "partyTypeName": "0", "gistId": "(2017)辽0203民初1353号", "regDate": "2018年07月23日", "gistUnit": "大连市西岗区人民法院", "duty": "婚生子由战国波抚养,姚春每月支付抚养费5000元,登记在姚春名下的位于大连市西岗区市场街118号2单元1层2号房屋归战国波所有,姚春名下的辽BA15J8迈特威小型汽车归战国波所有,姚春名下中国建设银行存款39395.1元归战国波所有。", "performance": "全部未履行", "performedPart": "暂无", "unperformPart": "暂无", "disruptTypeName": "有履行能力而拒不履行生效法律文书确定义务", "publishDate": "2018年09月17日", "qysler": []} 66 | {"id": 704556414, "iname": "姚春", "caseCode": "(2018)辽0203执1676号", "age": 47, "sexy": "男性", "cardNum": "3790091970****6016", "courtName": "大连市西岗区人民法院", "areaName": "辽宁", "partyTypeName": "0", "gistId": "(2017)辽0203民初1353号", "regDate": "2018年07月23日", "gistUnit": "大连市西岗区人民法院", "duty": "婚生子由战国波抚养,姚春每月支付抚养费5000元,登记在姚春名下的位于大连市西岗区市场街118号2单元1层2号房屋归战国波所有,姚春名下的辽BA15J8迈特威小型汽车归战国波所有,姚春名下中国建设银行存款39395.1元归战国波所有。", "performance": "全部未履行", "performedPart": "暂无", "unperformPart": "暂无", "disruptTypeName": "有履行能力而拒不履行生效法律文书确定义务", "publishDate": "2018年09月17日", "qysler": []} 67 | -------------------------------------------------------------------------------- /old/log/run.log: -------------------------------------------------------------------------------- 1 | 2018-09-29 14:54:35,219 - INFO - session更新headers数据失败,可能请求失败 当前传入参数不是dict格式,请检查... 2 | 2018-09-29 14:57:07,411 - INFO - session更新headers数据失败,可能请求失败 当前传入参数不是dict格式,请检查... 3 | 2018-09-29 14:57:48,944 - INFO - session更新headers数据失败,可能请求失败 当前传入参数不是dict格式,请检查... 4 | 2018-09-29 14:59:15,528 - INFO - session更新headers数据失败,可能请求失败 当前传入参数不是dict格式,请检查... 5 | 2018-09-29 14:59:46,019 - INFO - session更新headers数据失败,可能请求失败 当前传入参数不是dict格式,请检查... 6 | 2018-09-29 15:02:18,581 - INFO - session更新headers数据失败,可能请求失败 当前传入参数不是dict格式,请检查... 7 | 2018-10-08 11:52:20,140 - INFO - 请求出现状态码异常: 503 8 | 2018-10-08 11:58:26,039 - INFO - 请求出现状态码异常: 503 9 | 2018-10-08 12:55:15,437 - INFO - 请求出现状态码异常: 503 10 | 2018-10-08 12:55:37,453 - INFO - 请求出现状态码异常: 503 11 | 2018-10-08 12:57:19,221 - INFO - 请求出现状态码异常: 503 12 | 2018-10-08 12:57:41,238 - INFO - 请求出现状态码异常: 503 13 | 2018-10-08 12:58:03,300 - INFO - 请求出现状态码异常: 503 14 | 2018-10-08 12:58:25,313 - INFO - 请求出现状态码异常: 503 15 | 2018-10-08 12:58:47,327 - INFO - 请求出现状态码异常: 503 16 | 2018-10-08 13:47:50,580 - INFO - 请求出错, 错误原因: GET_request() missing 1 required positional argument: 'params' 17 | 2018-10-08 13:48:02,588 - INFO - 请求出错, 错误原因: GET_request() missing 1 required positional argument: 'params' 18 | 2018-10-08 13:48:14,593 - INFO - 请求出错, 错误原因: GET_request() missing 1 required positional argument: 'params' 19 | 2018-10-08 13:48:26,601 - INFO - 请求出错, 错误原因: GET_request() missing 1 required positional argument: 'params' 20 | 2018-10-08 13:48:38,604 - INFO - 请求出错, 错误原因: GET_request() missing 1 required positional argument: 'params' 21 | 2018-10-08 13:48:50,611 - INFO - 请求出错, 错误原因: GET_request() missing 1 required positional argument: 'params' 22 | 2018-10-08 13:49:02,612 - INFO - 请求出错, 错误原因: GET_request() missing 1 required positional argument: 'params' 23 | 2018-10-08 13:49:14,619 - INFO - 请求出错, 错误原因: GET_request() missing 1 required positional argument: 'params' 24 | 2018-10-08 13:49:26,631 - INFO - 请求出错, 错误原因: GET_request() missing 1 required positional argument: 'params' 25 | 2018-10-08 13:49:38,634 - INFO - 请求出错, 错误原因: GET_request() missing 1 required positional argument: 'params' 26 | 2018-10-08 13:49:50,641 - INFO - 请求出错, 错误原因: GET_request() missing 1 required positional argument: 'params' 27 | 2018-10-08 13:50:07,645 - INFO - 请求出错, 错误原因: GET_request() missing 1 required positional argument: 'params' 28 | 2018-10-08 13:50:19,654 - INFO - 请求出错, 错误原因: GET_request() missing 1 required positional argument: 'params' 29 | 2018-10-08 13:50:31,661 - INFO - 请求出错, 错误原因: GET_request() missing 1 required positional argument: 'params' 30 | 2018-10-08 13:50:43,664 - INFO - 请求出错, 错误原因: GET_request() missing 1 required positional argument: 'params' 31 | 2018-10-08 13:50:55,668 - INFO - 请求出错, 错误原因: GET_request() missing 1 required positional argument: 'params' 32 | 2018-10-08 13:51:07,676 - INFO - 请求出错, 错误原因: GET_request() missing 1 required positional argument: 'params' 33 | 2018-10-08 13:51:19,682 - INFO - 请求出错, 错误原因: GET_request() missing 1 required positional argument: 'params' 34 | 2018-10-08 14:47:43,500 - INFO - 请求出现状态码异常: 404 35 | 2018-10-08 15:06:36,350 - INFO - 请求出现状态码异常: 302 36 | 2018-10-08 15:06:36,364 - INFO - 请求出现状态码异常: 302 37 | 2018-10-08 15:06:36,372 - INFO - 请求出现状态码异常: 302 38 | 2018-10-08 15:06:36,381 - INFO - 请求出现状态码异常: 302 39 | 2018-10-08 15:06:36,390 - INFO - 请求出现状态码异常: 302 40 | 2018-10-08 15:07:00,017 - INFO - 请求出现状态码异常: 302 41 | 2018-10-08 15:07:00,032 - INFO - 请求出现状态码异常: 302 42 | 2018-10-08 15:07:00,047 - INFO - 请求出现状态码异常: 302 43 | 2018-10-08 15:07:00,063 - INFO - 请求出现状态码异常: 302 44 | 2018-10-08 15:07:00,078 - INFO - 请求出现状态码异常: 302 45 | 2018-10-08 15:07:09,563 - INFO - 请求出现状态码异常: 302 46 | 2018-10-08 15:07:09,573 - INFO - 请求出现状态码异常: 302 47 | 2018-10-08 15:07:09,583 - INFO - 请求出现状态码异常: 302 48 | 2018-10-08 15:07:09,596 - INFO - 请求出现状态码异常: 302 49 | 2018-10-08 15:07:09,611 - INFO - 请求出现状态码异常: 302 50 | 2018-10-08 15:07:43,526 - INFO - 请求出现状态码异常: 302 51 | 2018-10-08 15:07:43,538 - INFO - 请求出现状态码异常: 302 52 | 2018-10-08 15:07:43,552 - INFO - 请求出现状态码异常: 302 53 | 2018-10-08 15:07:43,567 - INFO - 请求出现状态码异常: 302 54 | 2018-10-08 15:07:43,580 - INFO - 请求出现状态码异常: 302 55 | 2018-10-08 15:08:19,873 - INFO - 请求出现状态码异常: 302 56 | 2018-10-08 15:08:19,887 - INFO - 请求出现状态码异常: 302 57 | 2018-10-08 15:08:19,898 - INFO - 请求出现状态码异常: 302 58 | 2018-10-08 15:08:19,907 - INFO - 请求出现状态码异常: 302 59 | 2018-10-08 15:08:19,915 - INFO - 请求出现状态码异常: 302 60 | 2018-10-08 15:08:19,953 - INFO - 请求出现状态码异常: 302 61 | 2018-10-08 15:08:19,963 - INFO - 请求出现状态码异常: 302 62 | 2018-10-08 15:08:19,976 - INFO - 请求出现状态码异常: 302 63 | 2018-10-08 15:08:19,990 - INFO - 请求出现状态码异常: 302 64 | 2018-10-08 15:08:20,004 - INFO - 请求出现状态码异常: 302 65 | 2018-10-08 15:08:20,052 - INFO - 请求出现状态码异常: 302 66 | 2018-10-08 15:08:20,062 - INFO - 请求出现状态码异常: 302 67 | 2018-10-08 15:08:20,071 - INFO - 请求出现状态码异常: 302 68 | 2018-10-08 15:08:20,082 - INFO - 请求出现状态码异常: 302 69 | 2018-10-08 15:08:20,095 - INFO - 请求出现状态码异常: 302 70 | 2018-10-08 15:08:20,142 - INFO - 请求出现状态码异常: 302 71 | 2018-10-08 15:08:20,152 - INFO - 请求出现状态码异常: 302 72 | 2018-10-08 15:08:20,160 - INFO - 请求出现状态码异常: 302 73 | 2018-10-08 15:08:20,173 - INFO - 请求出现状态码异常: 302 74 | 2018-10-08 15:08:20,189 - INFO - 请求出现状态码异常: 302 75 | 2018-10-08 15:08:20,222 - INFO - 请求出现状态码异常: 302 76 | 2018-10-08 15:08:20,232 - INFO - 请求出现状态码异常: 302 77 | 2018-10-08 15:08:20,240 - INFO - 请求出现状态码异常: 302 78 | 2018-10-08 15:08:20,249 - INFO - 请求出现状态码异常: 302 79 | 2018-10-08 15:08:20,257 - INFO - 请求出现状态码异常: 302 80 | 2018-10-08 15:08:20,302 - INFO - 请求出现状态码异常: 302 81 | 2018-10-08 15:08:20,318 - INFO - 请求出现状态码异常: 302 82 | 2018-10-08 15:08:20,330 - INFO - 请求出现状态码异常: 302 83 | 2018-10-08 15:08:20,342 - INFO - 请求出现状态码异常: 302 84 | 2018-10-08 15:08:20,367 - INFO - 请求出现状态码异常: 302 85 | 2018-10-08 15:08:20,420 - INFO - 请求出现状态码异常: 302 86 | 2018-10-08 15:08:20,429 - INFO - 请求出现状态码异常: 302 87 | 2018-10-08 15:08:20,438 - INFO - 请求出现状态码异常: 302 88 | 2018-10-08 15:08:20,447 - INFO - 请求出现状态码异常: 302 89 | 2018-10-08 15:08:20,456 - INFO - 请求出现状态码异常: 302 90 | 2018-10-08 15:08:20,492 - INFO - 请求出现状态码异常: 302 91 | 2018-10-08 15:08:20,507 - INFO - 请求出现状态码异常: 302 92 | 2018-10-08 15:08:20,529 - INFO - 请求出现状态码异常: 302 93 | 2018-10-08 15:08:20,544 - INFO - 请求出现状态码异常: 302 94 | 2018-10-08 15:08:20,555 - INFO - 请求出现状态码异常: 302 95 | 2018-10-08 15:08:20,592 - INFO - 请求出现状态码异常: 302 96 | 2018-10-08 15:08:20,602 - INFO - 请求出现状态码异常: 302 97 | 2018-10-08 15:08:20,612 - INFO - 请求出现状态码异常: 302 98 | 2018-10-08 15:08:20,621 - INFO - 请求出现状态码异常: 302 99 | 2018-10-08 15:08:20,630 - INFO - 请求出现状态码异常: 302 100 | 2018-10-08 15:08:20,660 - INFO - 请求出现状态码异常: 302 101 | 2018-10-08 15:08:20,669 - INFO - 请求出现状态码异常: 302 102 | 2018-10-08 15:08:20,679 - INFO - 请求出现状态码异常: 302 103 | 2018-10-08 15:08:20,688 - INFO - 请求出现状态码异常: 302 104 | 2018-10-08 15:08:20,696 - INFO - 请求出现状态码异常: 302 105 | 2018-10-08 15:08:20,729 - INFO - 请求出现状态码异常: 302 106 | 2018-10-08 15:08:20,738 - INFO - 请求出现状态码异常: 302 107 | 2018-10-08 15:08:20,747 - INFO - 请求出现状态码异常: 302 108 | 2018-10-08 15:08:20,760 - INFO - 请求出现状态码异常: 302 109 | 2018-10-08 15:08:20,772 - INFO - 请求出现状态码异常: 302 110 | 2018-10-08 15:08:20,811 - INFO - 请求出现状态码异常: 302 111 | 2018-10-08 15:08:20,822 - INFO - 请求出现状态码异常: 302 112 | 2018-10-08 15:08:20,832 - INFO - 请求出现状态码异常: 302 113 | 2018-10-08 15:08:20,842 - INFO - 请求出现状态码异常: 302 114 | 2018-10-08 15:08:20,852 - INFO - 请求出现状态码异常: 302 115 | 2018-10-08 15:08:20,926 - INFO - 请求出现状态码异常: 302 116 | 2018-10-08 15:08:20,940 - INFO - 请求出现状态码异常: 302 117 | 2018-10-08 15:08:20,957 - INFO - 请求出现状态码异常: 302 118 | 2018-10-08 15:08:20,973 - INFO - 请求出现状态码异常: 302 119 | 2018-10-08 15:08:20,984 - INFO - 请求出现状态码异常: 302 120 | 2018-10-08 15:08:21,020 - INFO - 请求出现状态码异常: 302 121 | 2018-10-08 15:08:21,033 - INFO - 请求出现状态码异常: 302 122 | 2018-10-08 15:08:21,044 - INFO - 请求出现状态码异常: 302 123 | 2018-10-08 15:08:21,053 - INFO - 请求出现状态码异常: 302 124 | 2018-10-08 15:08:21,064 - INFO - 请求出现状态码异常: 302 125 | 2018-10-08 15:08:21,136 - INFO - 请求出现状态码异常: 302 126 | 2018-10-08 15:08:21,153 - INFO - 请求出现状态码异常: 302 127 | 2018-10-08 15:08:21,171 - INFO - 请求出现状态码异常: 302 128 | 2018-10-08 15:08:21,182 - INFO - 请求出现状态码异常: 302 129 | 2018-10-08 15:08:21,198 - INFO - 请求出现状态码异常: 302 130 | 2018-10-08 15:08:21,240 - INFO - 请求出现状态码异常: 302 131 | 2018-10-08 15:08:21,252 - INFO - 请求出现状态码异常: 302 132 | 2018-10-08 15:08:21,263 - INFO - 请求出现状态码异常: 302 133 | 2018-10-08 15:08:21,277 - INFO - 请求出现状态码异常: 302 134 | 2018-10-08 15:08:21,292 - INFO - 请求出现状态码异常: 302 135 | 2018-10-08 15:08:21,329 - INFO - 请求出现状态码异常: 302 136 | 2018-10-08 15:08:21,348 - INFO - 请求出现状态码异常: 302 137 | 2018-10-08 15:08:21,360 - INFO - 请求出现状态码异常: 302 138 | 2018-10-08 15:08:21,373 - INFO - 请求出现状态码异常: 302 139 | 2018-10-08 15:08:21,384 - INFO - 请求出现状态码异常: 302 140 | 2018-10-08 15:08:21,419 - INFO - 请求出现状态码异常: 302 141 | 2018-10-08 15:08:21,429 - INFO - 请求出现状态码异常: 302 142 | 2018-10-08 15:08:21,440 - INFO - 请求出现状态码异常: 302 143 | 2018-10-08 15:08:21,452 - INFO - 请求出现状态码异常: 302 144 | 2018-10-08 15:08:21,463 - INFO - 请求出现状态码异常: 302 145 | 2018-10-08 15:08:21,492 - INFO - 请求出现状态码异常: 302 146 | 2018-10-08 15:08:37,967 - INFO - 请求出现状态码异常: 302 147 | 2018-10-08 15:08:37,976 - INFO - 请求出现状态码异常: 302 148 | 2018-10-08 15:08:37,984 - INFO - 请求出现状态码异常: 302 149 | 2018-10-08 15:08:37,992 - INFO - 请求出现状态码异常: 302 150 | 2018-10-08 15:08:38,000 - INFO - 请求出现状态码异常: 302 151 | 2018-10-08 15:08:38,032 - INFO - 请求出现状态码异常: 302 152 | 2018-10-08 15:08:38,040 - INFO - 请求出现状态码异常: 302 153 | 2018-10-08 15:08:38,049 - INFO - 请求出现状态码异常: 302 154 | 2018-10-08 15:08:38,058 - INFO - 请求出现状态码异常: 302 155 | 2018-10-08 15:08:38,067 - INFO - 请求出现状态码异常: 302 156 | 2018-10-08 15:08:38,096 - INFO - 请求出现状态码异常: 302 157 | 2018-10-08 15:08:38,105 - INFO - 请求出现状态码异常: 302 158 | 2018-10-08 15:08:38,114 - INFO - 请求出现状态码异常: 302 159 | 2018-10-08 15:08:38,123 - INFO - 请求出现状态码异常: 302 160 | 2018-10-08 15:08:38,131 - INFO - 请求出现状态码异常: 302 161 | 2018-10-08 15:08:38,161 - INFO - 请求出现状态码异常: 302 162 | 2018-10-08 15:08:38,169 - INFO - 请求出现状态码异常: 302 163 | 2018-10-08 15:08:38,179 - INFO - 请求出现状态码异常: 302 164 | 2018-10-08 15:08:38,188 - INFO - 请求出现状态码异常: 302 165 | 2018-10-08 15:08:38,197 - INFO - 请求出现状态码异常: 302 166 | 2018-10-08 15:08:38,233 - INFO - 请求出现状态码异常: 302 167 | 2018-10-08 15:08:38,242 - INFO - 请求出现状态码异常: 302 168 | 2018-10-08 15:08:38,252 - INFO - 请求出现状态码异常: 302 169 | 2018-10-08 15:08:38,260 - INFO - 请求出现状态码异常: 302 170 | 2018-10-08 15:08:38,269 - INFO - 请求出现状态码异常: 302 171 | 2018-10-08 15:08:38,306 - INFO - 请求出现状态码异常: 302 172 | 2018-10-08 15:08:38,316 - INFO - 请求出现状态码异常: 302 173 | 2018-10-08 15:08:38,325 - INFO - 请求出现状态码异常: 302 174 | 2018-10-08 15:08:38,336 - INFO - 请求出现状态码异常: 302 175 | 2018-10-08 15:08:38,346 - INFO - 请求出现状态码异常: 302 176 | 2018-10-08 15:08:38,387 - INFO - 请求出现状态码异常: 302 177 | 2018-10-08 15:08:38,395 - INFO - 请求出现状态码异常: 302 178 | 2018-10-08 15:08:38,403 - INFO - 请求出现状态码异常: 302 179 | 2018-10-08 15:08:38,412 - INFO - 请求出现状态码异常: 302 180 | 2018-10-08 15:08:38,421 - INFO - 请求出现状态码异常: 302 181 | 2018-10-08 15:08:38,465 - INFO - 请求出现状态码异常: 302 182 | 2018-10-08 15:08:38,479 - INFO - 请求出现状态码异常: 302 183 | 2018-10-08 15:08:38,494 - INFO - 请求出现状态码异常: 302 184 | 2018-10-08 15:08:38,508 - INFO - 请求出现状态码异常: 302 185 | 2018-10-08 15:08:38,523 - INFO - 请求出现状态码异常: 302 186 | 2018-10-08 15:08:38,563 - INFO - 请求出现状态码异常: 302 187 | 2018-10-08 15:08:38,571 - INFO - 请求出现状态码异常: 302 188 | 2018-10-08 15:08:38,580 - INFO - 请求出现状态码异常: 302 189 | 2018-10-08 15:08:38,588 - INFO - 请求出现状态码异常: 302 190 | 2018-10-08 15:08:38,597 - INFO - 请求出现状态码异常: 302 191 | 2018-10-08 15:08:38,645 - INFO - 请求出现状态码异常: 302 192 | 2018-10-08 15:08:38,659 - INFO - 请求出现状态码异常: 302 193 | 2018-10-08 15:08:38,671 - INFO - 请求出现状态码异常: 302 194 | 2018-10-08 15:08:38,680 - INFO - 请求出现状态码异常: 302 195 | 2018-10-08 15:08:38,691 - INFO - 请求出现状态码异常: 302 196 | 2018-10-08 15:08:38,736 - INFO - 请求出现状态码异常: 302 197 | 2018-10-08 15:08:38,745 - INFO - 请求出现状态码异常: 302 198 | 2018-10-08 15:08:38,757 - INFO - 请求出现状态码异常: 302 199 | 2018-10-08 15:08:38,766 - INFO - 请求出现状态码异常: 302 200 | 2018-10-08 15:08:38,776 - INFO - 请求出现状态码异常: 302 201 | 2018-10-08 15:08:38,829 - INFO - 请求出现状态码异常: 302 202 | 2018-10-08 15:08:38,841 - INFO - 请求出现状态码异常: 302 203 | 2018-10-08 15:08:38,855 - INFO - 请求出现状态码异常: 302 204 | 2018-10-08 15:08:38,869 - INFO - 请求出现状态码异常: 302 205 | 2018-10-08 15:08:38,878 - INFO - 请求出现状态码异常: 302 206 | 2018-10-08 15:08:38,915 - INFO - 请求出现状态码异常: 302 207 | 2018-10-08 15:08:38,925 - INFO - 请求出现状态码异常: 302 208 | 2018-10-08 15:08:38,934 - INFO - 请求出现状态码异常: 302 209 | 2018-10-08 15:08:38,942 - INFO - 请求出现状态码异常: 302 210 | 2018-10-08 15:08:38,951 - INFO - 请求出现状态码异常: 302 211 | 2018-10-08 15:08:38,988 - INFO - 请求出现状态码异常: 302 212 | 2018-10-08 15:08:39,003 - INFO - 请求出现状态码异常: 302 213 | 2018-10-08 15:08:39,017 - INFO - 请求出现状态码异常: 302 214 | 2018-10-08 15:08:39,031 - INFO - 请求出现状态码异常: 302 215 | 2018-10-08 15:08:39,045 - INFO - 请求出现状态码异常: 302 216 | 2018-10-08 15:08:39,096 - INFO - 请求出现状态码异常: 302 217 | 2018-10-08 15:08:39,108 - INFO - 请求出现状态码异常: 302 218 | 2018-10-08 15:08:39,121 - INFO - 请求出现状态码异常: 302 219 | 2018-10-08 15:08:39,133 - INFO - 请求出现状态码异常: 302 220 | 2018-10-08 15:08:39,145 - INFO - 请求出现状态码异常: 302 221 | 2018-10-08 15:08:39,178 - INFO - 请求出现状态码异常: 302 222 | 2018-10-08 15:08:39,191 - INFO - 请求出现状态码异常: 302 223 | 2018-10-08 15:08:39,205 - INFO - 请求出现状态码异常: 302 224 | 2018-10-08 15:08:39,219 - INFO - 请求出现状态码异常: 302 225 | 2018-10-08 15:08:39,233 - INFO - 请求出现状态码异常: 302 226 | 2018-10-08 15:08:39,293 - INFO - 请求出现状态码异常: 302 227 | 2018-10-08 15:08:39,307 - INFO - 请求出现状态码异常: 302 228 | 2018-10-08 15:08:39,320 - INFO - 请求出现状态码异常: 302 229 | 2018-10-08 15:08:39,335 - INFO - 请求出现状态码异常: 302 230 | 2018-10-08 15:08:39,353 - INFO - 请求出现状态码异常: 302 231 | 2018-10-08 15:08:39,390 - INFO - 请求出现状态码异常: 302 232 | 2018-10-08 15:08:39,400 - INFO - 请求出现状态码异常: 302 233 | 2018-10-08 15:08:39,411 - INFO - 请求出现状态码异常: 302 234 | 2018-10-08 15:08:39,423 - INFO - 请求出现状态码异常: 302 235 | 2018-10-08 15:08:39,436 - INFO - 请求出现状态码异常: 302 236 | 2018-10-08 15:08:39,483 - INFO - 请求出现状态码异常: 302 237 | 2018-10-08 15:08:39,496 - INFO - 请求出现状态码异常: 302 238 | 2018-10-08 15:08:39,510 - INFO - 请求出现状态码异常: 302 239 | 2018-10-08 15:08:39,525 - INFO - 请求出现状态码异常: 302 240 | 2018-10-08 15:08:39,539 - INFO - 请求出现状态码异常: 302 241 | 2018-10-08 15:08:39,624 - INFO - 请求出现状态码异常: 302 242 | 2018-10-08 15:08:39,638 - INFO - 请求出现状态码异常: 302 243 | 2018-10-08 15:08:39,650 - INFO - 请求出现状态码异常: 302 244 | 2018-10-08 15:08:39,661 - INFO - 请求出现状态码异常: 302 245 | 2018-10-08 15:08:39,674 - INFO - 请求出现状态码异常: 302 246 | 2018-10-08 15:08:39,722 - INFO - 请求出现状态码异常: 302 247 | 2018-10-08 15:08:39,731 - INFO - 请求出现状态码异常: 302 248 | 2018-10-08 15:08:39,744 - INFO - 请求出现状态码异常: 302 249 | 2018-10-08 15:08:39,758 - INFO - 请求出现状态码异常: 302 250 | 2018-10-08 15:08:39,772 - INFO - 请求出现状态码异常: 302 251 | 2018-10-08 15:08:39,825 - INFO - 请求出现状态码异常: 302 252 | 2018-10-08 15:08:39,840 - INFO - 请求出现状态码异常: 302 253 | 2018-10-08 15:08:39,852 - INFO - 请求出现状态码异常: 302 254 | 2018-10-08 15:08:39,862 - INFO - 请求出现状态码异常: 302 255 | 2018-10-08 15:08:39,872 - INFO - 请求出现状态码异常: 302 256 | 2018-10-08 15:08:39,918 - INFO - 请求出现状态码异常: 302 257 | 2018-10-08 15:08:39,932 - INFO - 请求出现状态码异常: 302 258 | 2018-10-08 15:08:39,943 - INFO - 请求出现状态码异常: 302 259 | 2018-10-08 15:08:39,953 - INFO - 请求出现状态码异常: 302 260 | 2018-10-08 15:08:39,962 - INFO - 请求出现状态码异常: 302 261 | 2018-10-08 15:08:39,997 - INFO - 请求出现状态码异常: 302 262 | 2018-10-08 15:08:40,006 - INFO - 请求出现状态码异常: 302 263 | 2018-10-08 15:08:40,015 - INFO - 请求出现状态码异常: 302 264 | 2018-10-08 15:08:40,024 - INFO - 请求出现状态码异常: 302 265 | 2018-10-08 15:08:40,033 - INFO - 请求出现状态码异常: 302 266 | 2018-10-08 15:08:40,068 - INFO - 请求出现状态码异常: 302 267 | 2018-10-08 15:08:40,082 - INFO - 请求出现状态码异常: 302 268 | 2018-10-08 15:08:40,097 - INFO - 请求出现状态码异常: 302 269 | 2018-10-08 15:08:40,109 - INFO - 请求出现状态码异常: 302 270 | 2018-10-08 15:08:40,117 - INFO - 请求出现状态码异常: 302 271 | 2018-10-08 15:08:40,147 - INFO - 请求出现状态码异常: 302 272 | 2018-10-08 15:08:40,162 - INFO - 请求出现状态码异常: 302 273 | 2018-10-08 15:08:40,173 - INFO - 请求出现状态码异常: 302 274 | 2018-10-08 15:08:40,184 - INFO - 请求出现状态码异常: 302 275 | 2018-10-08 15:08:40,195 - INFO - 请求出现状态码异常: 302 276 | 2018-10-08 15:08:40,243 - INFO - 请求出现状态码异常: 302 277 | 2018-10-08 15:08:40,255 - INFO - 请求出现状态码异常: 302 278 | 2018-10-08 15:08:40,267 - INFO - 请求出现状态码异常: 302 279 | 2018-10-08 15:08:40,279 - INFO - 请求出现状态码异常: 302 280 | 2018-10-08 15:08:40,290 - INFO - 请求出现状态码异常: 302 281 | 2018-10-08 15:08:40,321 - INFO - 请求出现状态码异常: 302 282 | 2018-10-08 15:08:40,330 - INFO - 请求出现状态码异常: 302 283 | 2018-10-08 15:08:40,339 - INFO - 请求出现状态码异常: 302 284 | 2018-10-08 15:08:40,348 - INFO - 请求出现状态码异常: 302 285 | 2018-10-08 15:08:40,356 - INFO - 请求出现状态码异常: 302 286 | 2018-10-08 15:08:40,388 - INFO - 请求出现状态码异常: 302 287 | 2018-10-08 15:08:40,396 - INFO - 请求出现状态码异常: 302 288 | 2018-10-08 15:08:40,405 - INFO - 请求出现状态码异常: 302 289 | 2018-10-08 15:08:40,413 - INFO - 请求出现状态码异常: 302 290 | 2018-10-08 15:08:40,425 - INFO - 请求出现状态码异常: 302 291 | 2018-10-08 15:08:40,473 - INFO - 请求出现状态码异常: 302 292 | 2018-10-08 15:08:40,483 - INFO - 请求出现状态码异常: 302 293 | 2018-10-08 15:08:40,492 - INFO - 请求出现状态码异常: 302 294 | 2018-10-08 15:08:40,501 - INFO - 请求出现状态码异常: 302 295 | 2018-10-08 15:08:40,511 - INFO - 请求出现状态码异常: 302 296 | 2018-10-08 15:08:40,556 - INFO - 请求出现状态码异常: 302 297 | 2018-10-08 15:08:40,571 - INFO - 请求出现状态码异常: 302 298 | 2018-10-08 15:08:40,585 - INFO - 请求出现状态码异常: 302 299 | 2018-10-08 15:08:40,596 - INFO - 请求出现状态码异常: 302 300 | 2018-10-08 15:08:40,606 - INFO - 请求出现状态码异常: 302 301 | 2018-10-08 15:08:40,651 - INFO - 请求出现状态码异常: 302 302 | 2018-10-08 15:08:40,666 - INFO - 请求出现状态码异常: 302 303 | 2018-10-08 15:08:40,682 - INFO - 请求出现状态码异常: 302 304 | 2018-10-08 15:08:40,697 - INFO - 请求出现状态码异常: 302 305 | 2018-10-08 15:08:40,711 - INFO - 请求出现状态码异常: 302 306 | 2018-10-08 15:08:40,761 - INFO - 请求出现状态码异常: 302 307 | 2018-10-08 15:08:40,775 - INFO - 请求出现状态码异常: 302 308 | 2018-10-08 15:08:40,789 - INFO - 请求出现状态码异常: 302 309 | 2018-10-08 15:08:40,803 - INFO - 请求出现状态码异常: 302 310 | 2018-10-08 15:08:40,819 - INFO - 请求出现状态码异常: 302 311 | 2018-10-08 15:08:40,853 - INFO - 请求出现状态码异常: 302 312 | 2018-10-08 15:08:40,863 - INFO - 请求出现状态码异常: 302 313 | 2018-10-08 15:08:40,872 - INFO - 请求出现状态码异常: 302 314 | 2018-10-08 15:08:40,880 - INFO - 请求出现状态码异常: 302 315 | 2018-10-08 15:08:40,889 - INFO - 请求出现状态码异常: 302 316 | 2018-10-08 15:08:40,918 - INFO - 请求出现状态码异常: 302 317 | 2018-10-08 15:08:40,926 - INFO - 请求出现状态码异常: 302 318 | 2018-10-08 15:08:40,934 - INFO - 请求出现状态码异常: 302 319 | 2018-10-08 15:08:40,943 - INFO - 请求出现状态码异常: 302 320 | 2018-10-08 15:08:40,951 - INFO - 请求出现状态码异常: 302 321 | 2018-10-08 15:08:40,996 - INFO - 请求出现状态码异常: 302 322 | 2018-10-08 15:08:41,011 - INFO - 请求出现状态码异常: 302 323 | 2018-10-08 15:08:41,029 - INFO - 请求出现状态码异常: 302 324 | 2018-10-08 15:08:41,040 - INFO - 请求出现状态码异常: 302 325 | 2018-10-08 15:08:41,049 - INFO - 请求出现状态码异常: 302 326 | 2018-10-08 15:08:41,090 - INFO - 请求出现状态码异常: 302 327 | 2018-10-08 15:08:41,100 - INFO - 请求出现状态码异常: 302 328 | 2018-10-08 15:08:41,112 - INFO - 请求出现状态码异常: 302 329 | 2018-10-08 15:08:41,122 - INFO - 请求出现状态码异常: 302 330 | 2018-10-08 15:08:41,131 - INFO - 请求出现状态码异常: 302 331 | 2018-10-08 15:08:41,167 - INFO - 请求出现状态码异常: 302 332 | 2018-10-08 15:08:41,177 - INFO - 请求出现状态码异常: 302 333 | 2018-10-08 15:08:41,188 - INFO - 请求出现状态码异常: 302 334 | 2018-10-08 15:08:41,197 - INFO - 请求出现状态码异常: 302 335 | 2018-10-08 15:08:41,207 - INFO - 请求出现状态码异常: 302 336 | 2018-10-08 15:08:41,242 - INFO - 请求出现状态码异常: 302 337 | 2018-10-08 15:08:41,251 - INFO - 请求出现状态码异常: 302 338 | 2018-10-08 15:08:41,259 - INFO - 请求出现状态码异常: 302 339 | 2018-10-08 15:08:41,267 - INFO - 请求出现状态码异常: 302 340 | 2018-10-08 15:08:41,275 - INFO - 请求出现状态码异常: 302 341 | 2018-10-08 15:08:41,323 - INFO - 请求出现状态码异常: 302 342 | 2018-10-08 15:08:41,332 - INFO - 请求出现状态码异常: 302 343 | 2018-10-08 15:08:41,341 - INFO - 请求出现状态码异常: 302 344 | 2018-10-08 15:08:41,350 - INFO - 请求出现状态码异常: 302 345 | 2018-10-08 15:08:41,362 - INFO - 请求出现状态码异常: 302 346 | 2018-10-08 15:08:41,404 - INFO - 请求出现状态码异常: 302 347 | 2018-10-08 15:08:41,414 - INFO - 请求出现状态码异常: 302 348 | 2018-10-08 15:08:41,427 - INFO - 请求出现状态码异常: 302 349 | 2018-10-08 15:08:41,442 - INFO - 请求出现状态码异常: 302 350 | 2018-10-08 15:08:41,455 - INFO - 请求出现状态码异常: 302 351 | 2018-10-08 15:08:41,506 - INFO - 请求出现状态码异常: 302 352 | 2018-10-08 15:08:41,521 - INFO - 请求出现状态码异常: 302 353 | 2018-10-08 15:08:41,535 - INFO - 请求出现状态码异常: 302 354 | 2018-10-08 15:08:41,548 - INFO - 请求出现状态码异常: 302 355 | 2018-10-08 15:08:41,562 - INFO - 请求出现状态码异常: 302 356 | 2018-10-08 15:08:41,610 - INFO - 请求出现状态码异常: 302 357 | 2018-10-08 15:08:41,623 - INFO - 请求出现状态码异常: 302 358 | 2018-10-08 15:08:41,638 - INFO - 请求出现状态码异常: 302 359 | 2018-10-08 15:08:41,648 - INFO - 请求出现状态码异常: 302 360 | 2018-10-08 15:08:41,661 - INFO - 请求出现状态码异常: 302 361 | 2018-10-08 15:08:41,709 - INFO - 请求出现状态码异常: 302 362 | 2018-10-08 15:08:41,723 - INFO - 请求出现状态码异常: 302 363 | 2018-10-08 15:08:41,734 - INFO - 请求出现状态码异常: 302 364 | 2018-10-08 15:08:41,744 - INFO - 请求出现状态码异常: 302 365 | 2018-10-08 15:08:41,756 - INFO - 请求出现状态码异常: 302 366 | 2018-10-08 15:08:41,806 - INFO - 请求出现状态码异常: 302 367 | 2018-10-08 15:08:41,825 - INFO - 请求出现状态码异常: 302 368 | 2018-10-08 15:08:41,839 - INFO - 请求出现状态码异常: 302 369 | 2018-10-08 15:08:41,851 - INFO - 请求出现状态码异常: 302 370 | 2018-10-08 15:08:41,865 - INFO - 请求出现状态码异常: 302 371 | 2018-10-08 15:08:41,903 - INFO - 请求出现状态码异常: 302 372 | 2018-10-08 15:08:41,913 - INFO - 请求出现状态码异常: 302 373 | 2018-10-08 15:08:41,922 - INFO - 请求出现状态码异常: 302 374 | 2018-10-08 15:08:41,931 - INFO - 请求出现状态码异常: 302 375 | 2018-10-08 15:08:41,940 - INFO - 请求出现状态码异常: 302 376 | 2018-10-08 15:08:41,975 - INFO - 请求出现状态码异常: 302 377 | 2018-10-08 15:08:41,989 - INFO - 请求出现状态码异常: 302 378 | 2018-10-08 15:08:42,003 - INFO - 请求出现状态码异常: 302 379 | 2018-10-08 15:08:42,015 - INFO - 请求出现状态码异常: 302 380 | 2018-10-08 15:08:42,028 - INFO - 请求出现状态码异常: 302 381 | 2018-10-08 15:08:42,066 - INFO - 请求出现状态码异常: 302 382 | 2018-10-08 15:08:42,075 - INFO - 请求出现状态码异常: 302 383 | 2018-10-08 15:08:42,084 - INFO - 请求出现状态码异常: 302 384 | 2018-10-08 15:08:42,092 - INFO - 请求出现状态码异常: 302 385 | 2018-10-08 15:08:42,102 - INFO - 请求出现状态码异常: 302 386 | 2018-10-08 15:08:42,138 - INFO - 请求出现状态码异常: 302 387 | 2018-10-08 15:08:42,151 - INFO - 请求出现状态码异常: 302 388 | 2018-10-08 15:08:42,164 - INFO - 请求出现状态码异常: 302 389 | 2018-10-08 15:08:42,175 - INFO - 请求出现状态码异常: 302 390 | 2018-10-08 15:08:42,187 - INFO - 请求出现状态码异常: 302 391 | 2018-10-08 15:08:42,227 - INFO - 请求出现状态码异常: 302 392 | 2018-10-08 15:08:42,236 - INFO - 请求出现状态码异常: 302 393 | 2018-10-08 15:08:42,244 - INFO - 请求出现状态码异常: 302 394 | 2018-10-08 15:08:42,252 - INFO - 请求出现状态码异常: 302 395 | 2018-10-08 15:08:42,260 - INFO - 请求出现状态码异常: 302 396 | 2018-10-08 15:08:42,306 - INFO - 请求出现状态码异常: 302 397 | 2018-10-08 15:08:42,315 - INFO - 请求出现状态码异常: 302 398 | 2018-10-08 15:08:42,333 - INFO - 请求出现状态码异常: 302 399 | 2018-10-08 15:08:42,348 - INFO - 请求出现状态码异常: 302 400 | 2018-10-08 15:08:42,363 - INFO - 请求出现状态码异常: 302 401 | 2018-10-08 15:08:42,380 - INFO - 请求出现状态码异常: 302 402 | 2018-10-08 15:08:42,391 - INFO - 请求出现状态码异常: 302 403 | 2018-10-08 15:08:42,401 - INFO - 请求出现状态码异常: 302 404 | 2018-10-08 15:08:42,412 - INFO - 请求出现状态码异常: 302 405 | 2018-10-08 15:08:42,421 - INFO - 请求出现状态码异常: 302 406 | 2018-10-08 15:08:42,439 - INFO - 请求出现状态码异常: 302 407 | 2018-10-08 15:08:42,448 - INFO - 请求出现状态码异常: 302 408 | 2018-10-08 15:08:42,458 - INFO - 请求出现状态码异常: 302 409 | 2018-10-08 15:08:42,467 - INFO - 请求出现状态码异常: 302 410 | 2018-10-08 15:08:42,477 - INFO - 请求出现状态码异常: 302 411 | 2018-10-08 15:08:42,498 - INFO - 请求出现状态码异常: 302 412 | 2018-10-08 15:08:42,512 - INFO - 请求出现状态码异常: 302 413 | 2018-10-08 15:08:42,525 - INFO - 请求出现状态码异常: 302 414 | 2018-10-08 15:08:42,539 - INFO - 请求出现状态码异常: 302 415 | 2018-10-08 15:08:42,554 - INFO - 请求出现状态码异常: 302 416 | 2018-10-08 15:08:42,583 - INFO - 请求出现状态码异常: 302 417 | 2018-10-08 15:08:42,594 - INFO - 请求出现状态码异常: 302 418 | 2018-10-08 15:08:42,604 - INFO - 请求出现状态码异常: 302 419 | 2018-10-08 15:08:42,616 - INFO - 请求出现状态码异常: 302 420 | 2018-10-08 15:08:42,630 - INFO - 请求出现状态码异常: 302 421 | 2018-10-08 15:08:42,653 - INFO - 请求出现状态码异常: 302 422 | 2018-10-08 15:08:42,663 - INFO - 请求出现状态码异常: 302 423 | 2018-10-08 15:08:42,670 - INFO - 请求出现状态码异常: 302 424 | 2018-10-08 15:08:42,679 - INFO - 请求出现状态码异常: 302 425 | 2018-10-08 15:08:42,687 - INFO - 请求出现状态码异常: 302 426 | 2018-10-08 15:08:42,706 - INFO - 请求出现状态码异常: 302 427 | 2018-10-08 15:08:42,714 - INFO - 请求出现状态码异常: 302 428 | 2018-10-08 15:08:42,724 - INFO - 请求出现状态码异常: 302 429 | 2018-10-08 15:08:42,733 - INFO - 请求出现状态码异常: 302 430 | 2018-10-08 15:08:42,744 - INFO - 请求出现状态码异常: 302 431 | 2018-10-08 15:08:42,760 - INFO - 请求出现状态码异常: 302 432 | 2018-10-08 15:08:42,769 - INFO - 请求出现状态码异常: 302 433 | 2018-10-08 15:08:42,778 - INFO - 请求出现状态码异常: 302 434 | 2018-10-08 15:08:42,792 - INFO - 请求出现状态码异常: 302 435 | 2018-10-08 15:08:42,800 - INFO - 请求出现状态码异常: 302 436 | 2018-10-08 15:08:42,817 - INFO - 请求出现状态码异常: 302 437 | 2018-10-08 15:08:42,826 - INFO - 请求出现状态码异常: 302 438 | 2018-10-08 15:08:42,837 - INFO - 请求出现状态码异常: 302 439 | 2018-10-08 15:08:42,850 - INFO - 请求出现状态码异常: 302 440 | 2018-10-08 15:08:42,865 - INFO - 请求出现状态码异常: 302 441 | 2018-10-08 15:08:42,883 - INFO - 请求出现状态码异常: 302 442 | 2018-10-08 15:08:42,892 - INFO - 请求出现状态码异常: 302 443 | 2018-10-08 15:08:42,901 - INFO - 请求出现状态码异常: 302 444 | 2018-10-08 15:08:42,911 - INFO - 请求出现状态码异常: 302 445 | 2018-10-08 15:08:42,920 - INFO - 请求出现状态码异常: 302 446 | 2018-10-08 15:08:42,938 - INFO - 请求出现状态码异常: 302 447 | 2018-10-08 15:08:42,952 - INFO - 请求出现状态码异常: 302 448 | 2018-10-08 15:08:42,963 - INFO - 请求出现状态码异常: 302 449 | 2018-10-08 15:08:42,973 - INFO - 请求出现状态码异常: 302 450 | 2018-10-08 15:08:42,981 - INFO - 请求出现状态码异常: 302 451 | 2018-10-08 15:08:42,997 - INFO - 请求出现状态码异常: 302 452 | 2018-10-08 15:08:43,006 - INFO - 请求出现状态码异常: 302 453 | 2018-10-08 15:08:43,014 - INFO - 请求出现状态码异常: 302 454 | 2018-10-08 15:08:43,022 - INFO - 请求出现状态码异常: 302 455 | 2018-10-08 15:08:43,031 - INFO - 请求出现状态码异常: 302 456 | 2018-10-08 15:08:43,048 - INFO - 请求出现状态码异常: 302 457 | 2018-10-08 15:08:43,057 - INFO - 请求出现状态码异常: 302 458 | 2018-10-08 15:08:43,067 - INFO - 请求出现状态码异常: 302 459 | 2018-10-08 15:08:43,079 - INFO - 请求出现状态码异常: 302 460 | 2018-10-08 15:08:43,093 - INFO - 请求出现状态码异常: 302 461 | 2018-10-08 15:08:43,120 - INFO - 请求出现状态码异常: 302 462 | 2018-10-08 15:08:43,136 - INFO - 请求出现状态码异常: 302 463 | 2018-10-08 15:08:43,152 - INFO - 请求出现状态码异常: 302 464 | 2018-10-08 15:08:43,170 - INFO - 请求出现状态码异常: 302 465 | 2018-10-08 15:08:43,187 - INFO - 请求出现状态码异常: 302 466 | 2018-10-08 15:08:43,207 - INFO - 请求出现状态码异常: 302 467 | 2018-10-08 15:08:43,217 - INFO - 请求出现状态码异常: 302 468 | 2018-10-08 15:08:43,227 - INFO - 请求出现状态码异常: 302 469 | 2018-10-08 15:08:43,237 - INFO - 请求出现状态码异常: 302 470 | 2018-10-08 15:08:43,248 - INFO - 请求出现状态码异常: 302 471 | 2018-10-08 15:08:43,264 - INFO - 请求出现状态码异常: 302 472 | 2018-10-08 15:08:43,275 - INFO - 请求出现状态码异常: 302 473 | 2018-10-08 15:08:43,284 - INFO - 请求出现状态码异常: 302 474 | 2018-10-08 15:08:43,297 - INFO - 请求出现状态码异常: 302 475 | 2018-10-08 15:08:43,314 - INFO - 请求出现状态码异常: 302 476 | 2018-10-08 15:08:43,347 - INFO - 请求出现状态码异常: 302 477 | 2018-10-08 15:08:43,360 - INFO - 请求出现状态码异常: 302 478 | 2018-10-08 15:08:43,369 - INFO - 请求出现状态码异常: 302 479 | 2018-10-08 15:08:43,378 - INFO - 请求出现状态码异常: 302 480 | 2018-10-08 15:08:43,387 - INFO - 请求出现状态码异常: 302 481 | 2018-10-08 15:08:50,930 - INFO - 请求出现状态码异常: 302 482 | 2018-10-08 15:08:50,944 - INFO - 请求出现状态码异常: 302 483 | 2018-10-08 15:08:50,953 - INFO - 请求出现状态码异常: 302 484 | 2018-10-08 15:08:50,963 - INFO - 请求出现状态码异常: 302 485 | 2018-10-08 15:08:50,972 - INFO - 请求出现状态码异常: 302 486 | 2018-10-08 15:08:51,004 - INFO - 请求出现状态码异常: 302 487 | 2018-10-08 15:08:51,018 - INFO - 请求出现状态码异常: 302 488 | 2018-10-08 15:08:51,027 - INFO - 请求出现状态码异常: 302 489 | 2018-10-08 15:08:51,036 - INFO - 请求出现状态码异常: 302 490 | 2018-10-08 15:08:51,044 - INFO - 请求出现状态码异常: 302 491 | 2018-10-08 15:08:51,066 - INFO - 请求出现状态码异常: 302 492 | 2018-10-08 15:08:51,075 - INFO - 请求出现状态码异常: 302 493 | 2018-10-08 15:08:51,084 - INFO - 请求出现状态码异常: 302 494 | 2018-10-08 15:08:51,095 - INFO - 请求出现状态码异常: 302 495 | 2018-10-08 15:08:51,104 - INFO - 请求出现状态码异常: 302 496 | 2018-10-08 15:08:51,119 - INFO - 请求出现状态码异常: 302 497 | 2018-10-08 15:08:51,129 - INFO - 请求出现状态码异常: 302 498 | 2018-10-08 15:08:51,138 - INFO - 请求出现状态码异常: 302 499 | 2018-10-08 15:08:51,152 - INFO - 请求出现状态码异常: 302 500 | 2018-10-08 15:08:51,217 - INFO - 请求出现状态码异常: 302 501 | 2018-10-08 15:08:51,235 - INFO - 请求出现状态码异常: 302 502 | 2018-10-08 15:08:51,244 - INFO - 请求出现状态码异常: 302 503 | 2018-10-08 15:08:51,253 - INFO - 请求出现状态码异常: 302 504 | 2018-10-08 15:08:51,262 - INFO - 请求出现状态码异常: 302 505 | 2018-10-08 15:08:51,270 - INFO - 请求出现状态码异常: 302 506 | 2018-10-08 15:08:51,284 - INFO - 请求出现状态码异常: 302 507 | 2018-10-08 15:08:51,291 - INFO - 请求出现状态码异常: 302 508 | 2018-10-08 15:08:51,299 - INFO - 请求出现状态码异常: 302 509 | 2018-10-08 15:08:51,307 - INFO - 请求出现状态码异常: 302 510 | 2018-10-08 15:08:51,316 - INFO - 请求出现状态码异常: 302 511 | 2018-10-08 15:08:51,336 - INFO - 请求出现状态码异常: 302 512 | 2018-10-08 15:08:51,354 - INFO - 请求出现状态码异常: 302 513 | 2018-10-08 15:08:51,371 - INFO - 请求出现状态码异常: 302 514 | 2018-10-08 15:08:51,393 - INFO - 请求出现状态码异常: 302 515 | 2018-10-08 15:08:51,416 - INFO - 请求出现状态码异常: 302 516 | 2018-10-08 15:08:51,434 - INFO - 请求出现状态码异常: 302 517 | 2018-10-08 15:08:51,445 - INFO - 请求出现状态码异常: 302 518 | 2018-10-08 15:08:51,454 - INFO - 请求出现状态码异常: 302 519 | 2018-10-08 15:08:51,463 - INFO - 请求出现状态码异常: 302 520 | 2018-10-08 15:08:51,472 - INFO - 请求出现状态码异常: 302 521 | 2018-10-08 15:08:51,493 - INFO - 请求出现状态码异常: 302 522 | 2018-10-08 15:08:51,503 - INFO - 请求出现状态码异常: 302 523 | 2018-10-08 15:08:51,513 - INFO - 请求出现状态码异常: 302 524 | 2018-10-08 15:08:51,524 - INFO - 请求出现状态码异常: 302 525 | 2018-10-08 15:08:51,536 - INFO - 请求出现状态码异常: 302 526 | 2018-10-08 15:08:51,562 - INFO - 请求出现状态码异常: 302 527 | 2018-10-08 15:08:51,587 - INFO - 请求出现状态码异常: 302 528 | 2018-10-08 15:08:51,612 - INFO - 请求出现状态码异常: 302 529 | 2018-10-08 15:08:51,631 - INFO - 请求出现状态码异常: 302 530 | 2018-10-08 15:08:51,649 - INFO - 请求出现状态码异常: 302 531 | 2018-10-08 15:08:51,689 - INFO - 请求出现状态码异常: 302 532 | 2018-10-08 15:08:51,701 - INFO - 请求出现状态码异常: 302 533 | 2018-10-08 15:08:51,708 - INFO - 请求出现状态码异常: 302 534 | 2018-10-08 15:08:51,716 - INFO - 请求出现状态码异常: 302 535 | 2018-10-08 15:08:51,724 - INFO - 请求出现状态码异常: 302 536 | 2018-10-08 15:09:22,886 - INFO - 请求出现状态码异常: 302 537 | 2018-10-08 15:09:22,896 - INFO - 请求出现状态码异常: 302 538 | 2018-10-08 15:09:22,908 - INFO - 请求出现状态码异常: 302 539 | 2018-10-08 15:09:22,920 - INFO - 请求出现状态码异常: 302 540 | 2018-10-08 15:09:22,929 - INFO - 请求出现状态码异常: 302 541 | 2018-10-08 15:09:22,945 - INFO - 请求出现状态码异常: 302 542 | 2018-10-08 15:09:22,955 - INFO - 请求出现状态码异常: 302 543 | 2018-10-08 15:09:22,966 - INFO - 请求出现状态码异常: 302 544 | 2018-10-08 15:09:22,975 - INFO - 请求出现状态码异常: 302 545 | 2018-10-08 15:09:22,983 - INFO - 请求出现状态码异常: 302 546 | 2018-10-08 15:09:23,005 - INFO - 请求出现状态码异常: 302 547 | 2018-10-08 15:09:23,020 - INFO - 请求出现状态码异常: 302 548 | 2018-10-08 15:09:23,033 - INFO - 请求出现状态码异常: 302 549 | 2018-10-08 15:09:23,047 - INFO - 请求出现状态码异常: 302 550 | 2018-10-08 15:09:23,057 - INFO - 请求出现状态码异常: 302 551 | 2018-10-08 15:09:23,073 - INFO - 请求出现状态码异常: 302 552 | 2018-10-08 15:09:23,083 - INFO - 请求出现状态码异常: 302 553 | 2018-10-08 15:09:23,093 - INFO - 请求出现状态码异常: 302 554 | 2018-10-08 15:09:23,103 - INFO - 请求出现状态码异常: 302 555 | 2018-10-08 15:09:23,114 - INFO - 请求出现状态码异常: 302 556 | 2018-10-08 15:09:23,134 - INFO - 请求出现状态码异常: 302 557 | 2018-10-08 15:09:23,147 - INFO - 请求出现状态码异常: 302 558 | 2018-10-08 15:09:23,158 - INFO - 请求出现状态码异常: 302 559 | 2018-10-08 15:09:23,168 - INFO - 请求出现状态码异常: 302 560 | 2018-10-08 15:09:23,178 - INFO - 请求出现状态码异常: 302 561 | 2018-10-08 15:09:23,196 - INFO - 请求出现状态码异常: 302 562 | 2018-10-08 15:09:23,207 - INFO - 请求出现状态码异常: 302 563 | 2018-10-08 15:09:23,219 - INFO - 请求出现状态码异常: 302 564 | 2018-10-08 15:09:23,234 - INFO - 请求出现状态码异常: 302 565 | 2018-10-08 15:09:23,250 - INFO - 请求出现状态码异常: 302 566 | 2018-10-08 15:09:23,269 - INFO - 请求出现状态码异常: 302 567 | 2018-10-08 15:09:23,278 - INFO - 请求出现状态码异常: 302 568 | 2018-10-08 15:09:23,287 - INFO - 请求出现状态码异常: 302 569 | 2018-10-08 15:09:23,296 - INFO - 请求出现状态码异常: 302 570 | 2018-10-08 15:09:23,306 - INFO - 请求出现状态码异常: 302 571 | 2018-10-08 15:09:23,323 - INFO - 请求出现状态码异常: 302 572 | 2018-10-08 15:09:23,331 - INFO - 请求出现状态码异常: 302 573 | 2018-10-08 15:09:23,340 - INFO - 请求出现状态码异常: 302 574 | 2018-10-08 15:09:23,349 - INFO - 请求出现状态码异常: 302 575 | 2018-10-08 15:09:23,359 - INFO - 请求出现状态码异常: 302 576 | 2018-10-08 15:09:23,380 - INFO - 请求出现状态码异常: 302 577 | 2018-10-08 15:09:23,389 - INFO - 请求出现状态码异常: 302 578 | 2018-10-08 15:09:23,404 - INFO - 请求出现状态码异常: 302 579 | 2018-10-08 15:09:23,415 - INFO - 请求出现状态码异常: 302 580 | 2018-10-08 15:09:23,424 - INFO - 请求出现状态码异常: 302 581 | 2018-10-08 15:09:23,439 - INFO - 请求出现状态码异常: 302 582 | 2018-10-08 15:09:23,449 - INFO - 请求出现状态码异常: 302 583 | 2018-10-08 15:09:23,457 - INFO - 请求出现状态码异常: 302 584 | 2018-10-08 15:09:23,465 - INFO - 请求出现状态码异常: 302 585 | 2018-10-08 15:09:23,474 - INFO - 请求出现状态码异常: 302 586 | 2018-10-08 15:09:23,491 - INFO - 请求出现状态码异常: 302 587 | 2018-10-08 15:09:23,500 - INFO - 请求出现状态码异常: 302 588 | 2018-10-08 15:09:23,509 - INFO - 请求出现状态码异常: 302 589 | 2018-10-08 15:09:23,517 - INFO - 请求出现状态码异常: 302 590 | 2018-10-08 15:09:23,526 - INFO - 请求出现状态码异常: 302 591 | 2018-10-08 15:09:23,542 - INFO - 请求出现状态码异常: 302 592 | 2018-10-08 15:09:23,551 - INFO - 请求出现状态码异常: 302 593 | 2018-10-08 15:09:23,559 - INFO - 请求出现状态码异常: 302 594 | 2018-10-08 15:09:23,568 - INFO - 请求出现状态码异常: 302 595 | 2018-10-08 15:09:23,577 - INFO - 请求出现状态码异常: 302 596 | 2018-10-08 15:09:23,594 - INFO - 请求出现状态码异常: 302 597 | 2018-10-08 15:09:23,603 - INFO - 请求出现状态码异常: 302 598 | 2018-10-08 15:09:23,613 - INFO - 请求出现状态码异常: 302 599 | 2018-10-08 15:09:23,621 - INFO - 请求出现状态码异常: 302 600 | 2018-10-08 15:09:23,630 - INFO - 请求出现状态码异常: 302 601 | 2018-10-08 15:09:23,645 - INFO - 请求出现状态码异常: 302 602 | 2018-10-08 15:09:23,658 - INFO - 请求出现状态码异常: 302 603 | 2018-10-08 15:09:23,666 - INFO - 请求出现状态码异常: 302 604 | 2018-10-08 15:09:23,674 - INFO - 请求出现状态码异常: 302 605 | 2018-10-08 15:09:23,682 - INFO - 请求出现状态码异常: 302 606 | 2018-10-08 15:09:23,701 - INFO - 请求出现状态码异常: 302 607 | 2018-10-08 15:09:23,714 - INFO - 请求出现状态码异常: 302 608 | 2018-10-08 15:09:23,728 - INFO - 请求出现状态码异常: 302 609 | 2018-10-08 15:09:23,738 - INFO - 请求出现状态码异常: 302 610 | 2018-10-08 15:09:23,746 - INFO - 请求出现状态码异常: 302 611 | 2018-10-08 15:09:23,763 - INFO - 请求出现状态码异常: 302 612 | 2018-10-08 15:09:23,774 - INFO - 请求出现状态码异常: 302 613 | 2018-10-08 15:09:23,783 - INFO - 请求出现状态码异常: 302 614 | 2018-10-08 15:09:23,792 - INFO - 请求出现状态码异常: 302 615 | 2018-10-08 15:09:23,800 - INFO - 请求出现状态码异常: 302 616 | 2018-10-08 15:09:23,821 - INFO - 请求出现状态码异常: 302 617 | 2018-10-08 15:09:23,831 - INFO - 请求出现状态码异常: 302 618 | 2018-10-08 15:09:23,841 - INFO - 请求出现状态码异常: 302 619 | 2018-10-08 15:09:23,851 - INFO - 请求出现状态码异常: 302 620 | 2018-10-08 15:09:23,860 - INFO - 请求出现状态码异常: 302 621 | 2018-10-08 15:09:23,876 - INFO - 请求出现状态码异常: 302 622 | 2018-10-08 15:09:23,886 - INFO - 请求出现状态码异常: 302 623 | 2018-10-08 15:09:23,896 - INFO - 请求出现状态码异常: 302 624 | 2018-10-08 15:09:23,905 - INFO - 请求出现状态码异常: 302 625 | 2018-10-08 15:09:23,913 - INFO - 请求出现状态码异常: 302 626 | 2018-10-08 15:09:23,932 - INFO - 请求出现状态码异常: 302 627 | 2018-10-08 15:09:23,942 - INFO - 请求出现状态码异常: 302 628 | 2018-10-08 15:09:23,952 - INFO - 请求出现状态码异常: 302 629 | 2018-10-08 15:09:23,961 - INFO - 请求出现状态码异常: 302 630 | 2018-10-08 15:09:23,971 - INFO - 请求出现状态码异常: 302 631 | 2018-10-08 15:09:23,986 - INFO - 请求出现状态码异常: 302 632 | 2018-10-08 15:09:23,995 - INFO - 请求出现状态码异常: 302 633 | 2018-10-08 15:09:24,004 - INFO - 请求出现状态码异常: 302 634 | 2018-10-08 15:09:24,016 - INFO - 请求出现状态码异常: 302 635 | 2018-10-08 15:09:24,029 - INFO - 请求出现状态码异常: 302 636 | 2018-10-08 15:09:24,059 - INFO - 请求出现状态码异常: 302 637 | 2018-10-08 15:09:24,073 - INFO - 请求出现状态码异常: 302 638 | 2018-10-08 15:09:24,086 - INFO - 请求出现状态码异常: 302 639 | 2018-10-08 15:09:24,099 - INFO - 请求出现状态码异常: 302 640 | 2018-10-08 15:09:24,109 - INFO - 请求出现状态码异常: 302 641 | 2018-10-08 15:09:24,125 - INFO - 请求出现状态码异常: 302 642 | 2018-10-08 15:09:24,137 - INFO - 请求出现状态码异常: 302 643 | 2018-10-08 15:09:24,155 - INFO - 请求出现状态码异常: 302 644 | 2018-10-08 15:09:24,171 - INFO - 请求出现状态码异常: 302 645 | 2018-10-08 15:09:24,187 - INFO - 请求出现状态码异常: 302 646 | 2018-10-08 15:09:24,216 - INFO - 请求出现状态码异常: 302 647 | 2018-10-08 15:09:24,231 - INFO - 请求出现状态码异常: 302 648 | 2018-10-08 15:09:24,245 - INFO - 请求出现状态码异常: 302 649 | 2018-10-08 15:09:24,259 - INFO - 请求出现状态码异常: 302 650 | 2018-10-08 15:09:24,270 - INFO - 请求出现状态码异常: 302 651 | 2018-10-08 15:09:24,286 - INFO - 请求出现状态码异常: 302 652 | 2018-10-08 15:09:24,295 - INFO - 请求出现状态码异常: 302 653 | 2018-10-08 15:09:24,304 - INFO - 请求出现状态码异常: 302 654 | 2018-10-08 15:09:24,314 - INFO - 请求出现状态码异常: 302 655 | 2018-10-08 15:09:24,323 - INFO - 请求出现状态码异常: 302 656 | 2018-10-08 15:09:24,341 - INFO - 请求出现状态码异常: 302 657 | 2018-10-08 15:09:24,350 - INFO - 请求出现状态码异常: 302 658 | 2018-10-08 15:09:24,363 - INFO - 请求出现状态码异常: 302 659 | 2018-10-08 15:09:24,377 - INFO - 请求出现状态码异常: 302 660 | 2018-10-08 15:09:24,390 - INFO - 请求出现状态码异常: 302 661 | 2018-10-08 15:09:24,412 - INFO - 请求出现状态码异常: 302 662 | 2018-10-08 15:09:24,425 - INFO - 请求出现状态码异常: 302 663 | 2018-10-08 15:09:24,439 - INFO - 请求出现状态码异常: 302 664 | 2018-10-08 15:09:24,455 - INFO - 请求出现状态码异常: 302 665 | 2018-10-08 15:09:24,469 - INFO - 请求出现状态码异常: 302 666 | 2018-10-08 15:09:24,489 - INFO - 请求出现状态码异常: 302 667 | 2018-10-08 15:09:24,497 - INFO - 请求出现状态码异常: 302 668 | 2018-10-08 15:09:24,507 - INFO - 请求出现状态码异常: 302 669 | 2018-10-08 15:09:24,517 - INFO - 请求出现状态码异常: 302 670 | 2018-10-08 15:09:24,527 - INFO - 请求出现状态码异常: 302 671 | 2018-10-08 15:09:24,545 - INFO - 请求出现状态码异常: 302 672 | 2018-10-08 15:09:24,559 - INFO - 请求出现状态码异常: 302 673 | 2018-10-08 15:09:24,573 - INFO - 请求出现状态码异常: 302 674 | 2018-10-08 15:09:24,587 - INFO - 请求出现状态码异常: 302 675 | 2018-10-08 15:09:24,602 - INFO - 请求出现状态码异常: 302 676 | 2018-10-08 15:09:24,621 - INFO - 请求出现状态码异常: 302 677 | 2018-10-08 15:09:24,629 - INFO - 请求出现状态码异常: 302 678 | 2018-10-08 15:09:24,638 - INFO - 请求出现状态码异常: 302 679 | 2018-10-08 15:09:24,649 - INFO - 请求出现状态码异常: 302 680 | 2018-10-08 15:09:24,659 - INFO - 请求出现状态码异常: 302 681 | 2018-10-08 15:09:24,675 - INFO - 请求出现状态码异常: 302 682 | 2018-10-08 15:09:24,684 - INFO - 请求出现状态码异常: 302 683 | 2018-10-08 15:09:24,692 - INFO - 请求出现状态码异常: 302 684 | 2018-10-08 15:09:24,702 - INFO - 请求出现状态码异常: 302 685 | 2018-10-08 15:09:24,710 - INFO - 请求出现状态码异常: 302 686 | 2018-10-08 15:09:24,732 - INFO - 请求出现状态码异常: 302 687 | 2018-10-08 15:09:24,747 - INFO - 请求出现状态码异常: 302 688 | 2018-10-08 15:09:24,767 - INFO - 请求出现状态码异常: 302 689 | 2018-10-08 15:09:24,781 - INFO - 请求出现状态码异常: 302 690 | 2018-10-08 15:09:24,795 - INFO - 请求出现状态码异常: 302 691 | 2018-10-08 15:09:24,825 - INFO - 请求出现状态码异常: 302 692 | 2018-10-08 15:09:24,840 - INFO - 请求出现状态码异常: 302 693 | 2018-10-08 15:09:24,853 - INFO - 请求出现状态码异常: 302 694 | 2018-10-08 15:09:24,867 - INFO - 请求出现状态码异常: 302 695 | 2018-10-08 15:09:24,881 - INFO - 请求出现状态码异常: 302 696 | 2018-10-08 15:09:24,913 - INFO - 请求出现状态码异常: 302 697 | 2018-10-08 15:09:24,929 - INFO - 请求出现状态码异常: 302 698 | 2018-10-08 15:09:24,945 - INFO - 请求出现状态码异常: 302 699 | 2018-10-08 15:09:24,960 - INFO - 请求出现状态码异常: 302 700 | 2018-10-08 15:09:25,017 - INFO - 请求出现状态码异常: 302 701 | 2018-10-08 15:09:25,032 - INFO - 请求出现状态码异常: 302 702 | 2018-10-08 15:09:25,047 - INFO - 请求出现状态码异常: 302 703 | 2018-10-08 15:09:25,057 - INFO - 请求出现状态码异常: 302 704 | 2018-10-08 15:09:25,069 - INFO - 请求出现状态码异常: 302 705 | 2018-10-08 15:09:25,082 - INFO - 请求出现状态码异常: 302 706 | 2018-10-08 15:09:25,103 - INFO - 请求出现状态码异常: 302 707 | 2018-10-08 15:09:25,120 - INFO - 请求出现状态码异常: 302 708 | 2018-10-08 15:09:25,134 - INFO - 请求出现状态码异常: 302 709 | 2018-10-08 15:09:25,148 - INFO - 请求出现状态码异常: 302 710 | 2018-10-08 15:09:25,160 - INFO - 请求出现状态码异常: 302 711 | 2018-10-08 15:09:25,179 - INFO - 请求出现状态码异常: 302 712 | 2018-10-08 15:09:25,189 - INFO - 请求出现状态码异常: 302 713 | 2018-10-08 15:09:25,199 - INFO - 请求出现状态码异常: 302 714 | 2018-10-08 15:09:25,209 - INFO - 请求出现状态码异常: 302 715 | 2018-10-08 15:09:25,219 - INFO - 请求出现状态码异常: 302 716 | 2018-10-08 15:09:25,236 - INFO - 请求出现状态码异常: 302 717 | 2018-10-08 15:09:25,244 - INFO - 请求出现状态码异常: 302 718 | 2018-10-08 15:09:35,359 - INFO - 请求出现状态码异常: 302 719 | 2018-10-08 15:09:35,369 - INFO - 请求出现状态码异常: 302 720 | 2018-10-08 15:09:35,379 - INFO - 请求出现状态码异常: 302 721 | 2018-10-08 15:09:35,387 - INFO - 请求出现状态码异常: 302 722 | 2018-10-08 15:09:35,396 - INFO - 请求出现状态码异常: 302 723 | 2018-10-08 15:09:35,415 - INFO - 请求出现状态码异常: 302 724 | 2018-10-08 15:09:35,430 - INFO - 请求出现状态码异常: 302 725 | 2018-10-08 15:09:35,445 - INFO - 请求出现状态码异常: 302 726 | 2018-10-08 15:09:35,456 - INFO - 请求出现状态码异常: 302 727 | 2018-10-08 15:09:35,466 - INFO - 请求出现状态码异常: 302 728 | 2018-10-08 15:09:35,489 - INFO - 请求出现状态码异常: 302 729 | 2018-10-08 15:09:35,500 - INFO - 请求出现状态码异常: 302 730 | 2018-10-08 15:09:35,509 - INFO - 请求出现状态码异常: 302 731 | 2018-10-08 15:09:35,520 - INFO - 请求出现状态码异常: 302 732 | 2018-10-08 15:09:35,530 - INFO - 请求出现状态码异常: 302 733 | 2018-10-08 15:09:35,545 - INFO - 请求出现状态码异常: 302 734 | 2018-10-08 15:09:35,555 - INFO - 请求出现状态码异常: 302 735 | 2018-10-08 15:09:35,565 - INFO - 请求出现状态码异常: 302 736 | 2018-10-08 15:09:35,578 - INFO - 请求出现状态码异常: 302 737 | 2018-10-08 15:09:35,589 - INFO - 请求出现状态码异常: 302 738 | 2018-10-08 15:09:35,610 - INFO - 请求出现状态码异常: 302 739 | 2018-10-08 15:09:35,620 - INFO - 请求出现状态码异常: 302 740 | 2018-10-08 15:09:35,628 - INFO - 请求出现状态码异常: 302 741 | 2018-10-08 15:09:35,637 - INFO - 请求出现状态码异常: 302 742 | 2018-10-08 15:09:35,650 - INFO - 请求出现状态码异常: 302 743 | 2018-10-08 15:09:35,668 - INFO - 请求出现状态码异常: 302 744 | 2018-10-08 15:09:35,677 - INFO - 请求出现状态码异常: 302 745 | 2018-10-08 15:09:35,685 - INFO - 请求出现状态码异常: 302 746 | 2018-10-08 15:09:35,695 - INFO - 请求出现状态码异常: 302 747 | 2018-10-08 15:09:35,705 - INFO - 请求出现状态码异常: 302 748 | 2018-10-08 15:09:35,726 - INFO - 请求出现状态码异常: 302 749 | 2018-10-08 15:09:35,739 - INFO - 请求出现状态码异常: 302 750 | 2018-10-08 15:09:35,747 - INFO - 请求出现状态码异常: 302 751 | 2018-10-08 15:09:35,755 - INFO - 请求出现状态码异常: 302 752 | 2018-10-08 15:09:35,763 - INFO - 请求出现状态码异常: 302 753 | 2018-10-08 15:09:35,782 - INFO - 请求出现状态码异常: 302 754 | 2018-10-08 15:09:35,791 - INFO - 请求出现状态码异常: 302 755 | 2018-10-08 15:09:35,801 - INFO - 请求出现状态码异常: 302 756 | 2018-10-08 15:09:35,814 - INFO - 请求出现状态码异常: 302 757 | 2018-10-08 15:09:35,827 - INFO - 请求出现状态码异常: 302 758 | 2018-10-08 15:09:35,853 - INFO - 请求出现状态码异常: 302 759 | 2018-10-08 15:09:35,862 - INFO - 请求出现状态码异常: 302 760 | 2018-10-08 15:09:35,872 - INFO - 请求出现状态码异常: 302 761 | 2018-10-08 15:09:35,882 - INFO - 请求出现状态码异常: 302 762 | 2018-10-08 15:09:35,893 - INFO - 请求出现状态码异常: 302 763 | 2018-10-08 15:09:35,912 - INFO - 请求出现状态码异常: 302 764 | 2018-10-08 15:09:35,922 - INFO - 请求出现状态码异常: 302 765 | 2018-10-08 15:09:35,931 - INFO - 请求出现状态码异常: 302 766 | 2018-10-08 15:09:35,942 - INFO - 请求出现状态码异常: 302 767 | 2018-10-08 15:09:35,952 - INFO - 请求出现状态码异常: 302 768 | 2018-10-08 15:09:35,972 - INFO - 请求出现状态码异常: 302 769 | 2018-10-08 15:09:35,982 - INFO - 请求出现状态码异常: 302 770 | 2018-10-08 15:09:35,993 - INFO - 请求出现状态码异常: 302 771 | 2018-10-08 15:09:36,004 - INFO - 请求出现状态码异常: 302 772 | 2018-10-08 15:09:36,017 - INFO - 请求出现状态码异常: 302 773 | 2018-10-08 15:09:36,037 - INFO - 请求出现状态码异常: 302 774 | 2018-10-08 15:09:36,047 - INFO - 请求出现状态码异常: 302 775 | 2018-10-08 15:09:36,056 - INFO - 请求出现状态码异常: 302 776 | 2018-10-08 15:09:36,064 - INFO - 请求出现状态码异常: 302 777 | 2018-10-08 15:09:36,075 - INFO - 请求出现状态码异常: 302 778 | 2018-10-08 15:09:36,095 - INFO - 请求出现状态码异常: 302 779 | 2018-10-08 15:09:36,105 - INFO - 请求出现状态码异常: 302 780 | 2018-10-08 15:09:36,113 - INFO - 请求出现状态码异常: 302 781 | 2018-10-08 15:09:36,121 - INFO - 请求出现状态码异常: 302 782 | 2018-10-08 15:09:53,589 - INFO - 请求出现状态码异常: 302 783 | 2018-10-08 15:09:53,605 - INFO - 请求出现状态码异常: 302 784 | 2018-10-08 15:09:53,619 - INFO - 请求出现状态码异常: 302 785 | 2018-10-08 15:09:53,635 - INFO - 请求出现状态码异常: 302 786 | 2018-10-08 15:09:53,650 - INFO - 请求出现状态码异常: 302 787 | 2018-10-08 15:09:53,675 - INFO - 请求出现状态码异常: 302 788 | 2018-10-08 15:09:53,684 - INFO - 请求出现状态码异常: 302 789 | 2018-10-08 15:09:53,694 - INFO - 请求出现状态码异常: 302 790 | 2018-10-08 15:09:53,703 - INFO - 请求出现状态码异常: 302 791 | 2018-10-08 15:09:53,711 - INFO - 请求出现状态码异常: 302 792 | 2018-10-08 15:09:53,735 - INFO - 请求出现状态码异常: 302 793 | 2018-10-08 15:09:53,745 - INFO - 请求出现状态码异常: 302 794 | 2018-10-08 15:09:53,754 - INFO - 请求出现状态码异常: 302 795 | 2018-10-08 15:09:53,766 - INFO - 请求出现状态码异常: 302 796 | 2018-10-08 15:09:53,776 - INFO - 请求出现状态码异常: 302 797 | 2018-10-08 15:09:53,794 - INFO - 请求出现状态码异常: 302 798 | 2018-10-08 15:09:53,811 - INFO - 请求出现状态码异常: 302 799 | 2018-10-08 15:09:53,823 - INFO - 请求出现状态码异常: 302 800 | 2018-10-08 15:09:53,832 - INFO - 请求出现状态码异常: 302 801 | 2018-10-08 15:09:53,841 - INFO - 请求出现状态码异常: 302 802 | 2018-10-08 15:09:53,864 - INFO - 请求出现状态码异常: 302 803 | 2018-10-08 15:09:53,876 - INFO - 请求出现状态码异常: 302 804 | 2018-10-08 15:09:53,886 - INFO - 请求出现状态码异常: 302 805 | 2018-10-08 15:09:53,896 - INFO - 请求出现状态码异常: 302 806 | 2018-10-08 15:09:53,907 - INFO - 请求出现状态码异常: 302 807 | 2018-10-08 15:09:53,921 - INFO - 请求出现状态码异常: 302 808 | 2018-10-08 15:09:53,929 - INFO - 请求出现状态码异常: 302 809 | 2018-10-08 15:09:53,936 - INFO - 请求出现状态码异常: 302 810 | 2018-10-08 15:09:53,944 - INFO - 请求出现状态码异常: 302 811 | 2018-10-08 15:09:53,953 - INFO - 请求出现状态码异常: 302 812 | 2018-10-08 15:09:53,971 - INFO - 请求出现状态码异常: 302 813 | 2018-10-08 15:09:53,979 - INFO - 请求出现状态码异常: 302 814 | 2018-10-08 15:09:53,987 - INFO - 请求出现状态码异常: 302 815 | 2018-10-08 15:09:53,995 - INFO - 请求出现状态码异常: 302 816 | 2018-10-08 15:09:54,003 - INFO - 请求出现状态码异常: 302 817 | 2018-10-08 15:09:54,019 - INFO - 请求出现状态码异常: 302 818 | 2018-10-08 15:09:54,034 - INFO - 请求出现状态码异常: 302 819 | 2018-10-08 15:09:54,047 - INFO - 请求出现状态码异常: 302 820 | 2018-10-08 15:09:54,061 - INFO - 请求出现状态码异常: 302 821 | 2018-10-08 15:09:54,077 - INFO - 请求出现状态码异常: 302 822 | 2018-10-08 15:09:54,101 - INFO - 请求出现状态码异常: 302 823 | 2018-10-08 15:09:54,111 - INFO - 请求出现状态码异常: 302 824 | 2018-10-08 15:09:54,121 - INFO - 请求出现状态码异常: 302 825 | 2018-10-08 15:09:54,130 - INFO - 请求出现状态码异常: 302 826 | 2018-10-08 15:09:54,140 - INFO - 请求出现状态码异常: 302 827 | 2018-10-08 15:09:54,156 - INFO - 请求出现状态码异常: 302 828 | 2018-10-08 15:09:54,164 - INFO - 请求出现状态码异常: 302 829 | 2018-10-08 15:09:54,173 - INFO - 请求出现状态码异常: 302 830 | 2018-10-08 15:09:54,180 - INFO - 请求出现状态码异常: 302 831 | 2018-10-08 15:09:54,188 - INFO - 请求出现状态码异常: 302 832 | 2018-10-08 15:11:25,447 - INFO - 请求出现状态码异常: 302 833 | 2018-10-08 15:11:25,459 - INFO - 请求出现状态码异常: 302 834 | 2018-10-08 15:11:25,468 - INFO - 请求出现状态码异常: 302 835 | 2018-10-08 15:11:25,477 - INFO - 请求出现状态码异常: 302 836 | 2018-10-08 15:11:25,486 - INFO - 请求出现状态码异常: 302 837 | 2018-10-08 15:11:25,503 - INFO - 请求出现状态码异常: 302 838 | 2018-10-08 15:11:25,512 - INFO - 请求出现状态码异常: 302 839 | 2018-10-08 15:11:25,520 - INFO - 请求出现状态码异常: 302 840 | 2018-10-08 15:11:25,530 - INFO - 请求出现状态码异常: 302 841 | 2018-10-08 15:11:25,540 - INFO - 请求出现状态码异常: 302 842 | 2018-10-08 15:11:25,558 - INFO - 请求出现状态码异常: 302 843 | 2018-10-08 15:11:25,567 - INFO - 请求出现状态码异常: 302 844 | 2018-10-08 15:11:25,576 - INFO - 请求出现状态码异常: 302 845 | 2018-10-08 15:11:25,585 - INFO - 请求出现状态码异常: 302 846 | 2018-10-08 15:11:25,595 - INFO - 请求出现状态码异常: 302 847 | 2018-10-08 15:11:25,612 - INFO - 请求出现状态码异常: 302 848 | 2018-10-08 15:11:25,622 - INFO - 请求出现状态码异常: 302 849 | 2018-10-08 15:11:25,635 - INFO - 请求出现状态码异常: 302 850 | 2018-10-08 15:11:25,645 - INFO - 请求出现状态码异常: 302 851 | 2018-10-08 15:11:25,652 - INFO - 请求出现状态码异常: 302 852 | 2018-10-08 15:11:25,671 - INFO - 请求出现状态码异常: 302 853 | 2018-10-08 15:11:25,681 - INFO - 请求出现状态码异常: 302 854 | 2018-10-08 15:11:25,693 - INFO - 请求出现状态码异常: 302 855 | 2018-10-08 15:11:25,704 - INFO - 请求出现状态码异常: 302 856 | 2018-10-08 15:11:25,714 - INFO - 请求出现状态码异常: 302 857 | 2018-10-08 15:11:25,730 - INFO - 请求出现状态码异常: 302 858 | 2018-10-08 15:11:25,738 - INFO - 请求出现状态码异常: 302 859 | 2018-10-08 15:11:25,748 - INFO - 请求出现状态码异常: 302 860 | 2018-10-08 15:11:25,759 - INFO - 请求出现状态码异常: 302 861 | 2018-10-08 15:11:25,767 - INFO - 请求出现状态码异常: 302 862 | 2018-10-08 15:11:25,790 - INFO - 请求出现状态码异常: 302 863 | 2018-10-08 15:11:25,802 - INFO - 请求出现状态码异常: 302 864 | 2018-10-08 15:11:25,812 - INFO - 请求出现状态码异常: 302 865 | 2018-10-08 15:11:25,822 - INFO - 请求出现状态码异常: 302 866 | 2018-10-08 15:11:25,831 - INFO - 请求出现状态码异常: 302 867 | 2018-10-08 15:11:25,846 - INFO - 请求出现状态码异常: 302 868 | 2018-10-08 15:11:25,855 - INFO - 请求出现状态码异常: 302 869 | 2018-10-08 15:11:25,863 - INFO - 请求出现状态码异常: 302 870 | 2018-10-08 15:11:25,878 - INFO - 请求出现状态码异常: 302 871 | 2018-10-08 15:11:25,886 - INFO - 请求出现状态码异常: 302 872 | 2018-10-08 15:11:25,902 - INFO - 请求出现状态码异常: 302 873 | 2018-10-08 15:11:25,910 - INFO - 请求出现状态码异常: 302 874 | 2018-10-08 15:11:25,920 - INFO - 请求出现状态码异常: 302 875 | 2018-10-08 15:11:25,934 - INFO - 请求出现状态码异常: 302 876 | 2018-10-08 15:11:25,943 - INFO - 请求出现状态码异常: 302 877 | 2018-10-08 15:11:25,959 - INFO - 请求出现状态码异常: 302 878 | 2018-10-08 15:11:25,968 - INFO - 请求出现状态码异常: 302 879 | 2018-10-08 15:11:25,976 - INFO - 请求出现状态码异常: 302 880 | 2018-10-08 15:11:25,984 - INFO - 请求出现状态码异常: 302 881 | 2018-10-08 15:11:25,992 - INFO - 请求出现状态码异常: 302 882 | 2018-10-08 15:11:26,009 - INFO - 请求出现状态码异常: 302 883 | 2018-10-08 15:11:26,020 - INFO - 请求出现状态码异常: 302 884 | 2018-10-08 15:11:26,029 - INFO - 请求出现状态码异常: 302 885 | 2018-10-08 15:11:26,038 - INFO - 请求出现状态码异常: 302 886 | 2018-10-08 15:11:26,048 - INFO - 请求出现状态码异常: 302 887 | 2018-10-08 15:11:26,064 - INFO - 请求出现状态码异常: 302 888 | 2018-10-08 15:11:26,072 - INFO - 请求出现状态码异常: 302 889 | 2018-10-08 15:11:26,081 - INFO - 请求出现状态码异常: 302 890 | 2018-10-08 15:11:26,090 - INFO - 请求出现状态码异常: 302 891 | 2018-10-08 15:11:26,104 - INFO - 请求出现状态码异常: 302 892 | 2018-10-08 15:11:26,123 - INFO - 请求出现状态码异常: 302 893 | 2018-10-08 15:11:26,132 - INFO - 请求出现状态码异常: 302 894 | 2018-10-08 15:11:26,142 - INFO - 请求出现状态码异常: 302 895 | 2018-10-08 15:11:26,151 - INFO - 请求出现状态码异常: 302 896 | 2018-10-08 15:11:26,158 - INFO - 请求出现状态码异常: 302 897 | 2018-10-08 15:11:26,174 - INFO - 请求出现状态码异常: 302 898 | 2018-10-08 15:11:26,182 - INFO - 请求出现状态码异常: 302 899 | 2018-10-08 15:11:26,190 - INFO - 请求出现状态码异常: 302 900 | 2018-10-08 15:11:26,199 - INFO - 请求出现状态码异常: 302 901 | 2018-10-08 15:12:39,285 - INFO - 请求出现状态码异常: 302 902 | 2018-10-08 15:12:39,301 - INFO - 请求出现状态码异常: 302 903 | 2018-10-08 15:12:39,316 - INFO - 请求出现状态码异常: 302 904 | 2018-10-08 15:12:39,330 - INFO - 请求出现状态码异常: 302 905 | 2018-10-08 15:12:39,345 - INFO - 请求出现状态码异常: 302 906 | --------------------------------------------------------------------------------