# -*- coding: utf-8 -*- import logging import hashlib import random import time base_category = [ {"id": 1, "category_name": "玄幻仙侠", "channel_id": 1, "pid": 0}, {"id": 2, "category_name": "热血校园", "channel_id": 1, "pid": 0}, {"id": 3, "category_name": "都市暧昧", "channel_id": 1, "pid": 0}, {"id": 4, "category_name": "军事历史", "channel_id": 1, "pid": 0}, {"id": 7, "category_name": "游戏竞技", "channel_id": 1, "pid": 0}, {"id": 8, "category_name": "悬疑灵异", "channel_id": 1, "pid": 0}, {"id": 12, "category_name": "灵异鬼怪", "channel_id": 1, "pid": 8}, {"id": 14, "category_name": "历史穿越", "channel_id": 1, "pid": 4}, {"id": 19, "category_name": "游戏竞技", "channel_id": 1, "pid": 7}, {"id": 21, "category_name": "武侠仙侠", "channel_id": 1, "pid": 1}, {"id": 22, "category_name": "西方玄幻", "channel_id": 1, "pid": 1}, {"id": 23, "category_name": "玄幻奇幻", "channel_id": 1, "pid": 1}, {"id": 30, "category_name": "校园黑道", "channel_id": 1, "pid": 2}, {"id": 49, "category_name": "抗战烽火", "channel_id": 1, "pid": 4}, {"id": 51, "category_name": "特种军旅", "channel_id": 1, "pid": 4}, {"id": 54, "category_name": "都市爱情", "channel_id": 1, "pid": 3}, {"id": 55, "category_name": "官场沉浮", "channel_id": 1, "pid": 3}, {"id": 57, "category_name": "乡土风情", "channel_id": 1, "pid": 3}, {"id": 67, "category_name": "校园励志", "channel_id": 1, "pid": 2}, {"id": 68, "category_name": "现代修真", "channel_id": 1, "pid": 3}, {"id": 81, "category_name": "灵异恐怖", "channel_id": 1, "pid": 8}, {"id": 82, "category_name": "古代言情", "channel_id": 2, "pid": 0}, {"id": 83, "category_name": "穿越重生", "channel_id": 2, "pid": 82}, {"id": 84, "category_name": "经商种田", "channel_id": 2, "pid": 82}, {"id": 87, "category_name": "现代言情", "channel_id": 2, "pid": 0}, {"id": 88, "category_name": "豪门总裁", "channel_id": 2, "pid": 87}, {"id": 92, "category_name": "女生灵异", "channel_id": 2, "pid": 0}, {"id": 93, "category_name": "幻想言情", "channel_id": 2, "pid": 0}, {"id": 94, "category_name": "青春爱情", "channel_id": 1, "pid": 2}, {"id": 95, "category_name": "女生灵异", "channel_id": 2, "pid": 92}, {"id": 96, "category_name": "东方玄幻", "channel_id": 2, "pid": 93}, {"id": 97, "category_name": "古典仙侠", "channel_id": 2, "pid": 93}, {"id": 98, "category_name": "婚恋情感", "channel_id": 2, "pid": 87}, {"id": 99, "category_name": "民国爱情", "channel_id": 2, "pid": 87}, {"id": 100, "category_name": "其他", "channel_id": 2, "pid": 0}, {"id": 101, "category_name": "浪漫青春", "channel_id": 2, "pid": 0}, {"id": 102, "category_name": "耽美同人", "channel_id": 2, "pid": 0}, {"id": 103, "category_name": "青春纯爱", "channel_id": 2, "pid": 101}, {"id": 104, "category_name": "青春校园", "channel_id": 2, "pid": 101}, {"id": 105, "category_name": "蜕变成长", "channel_id": 2, "pid": 101}, {"id": 106, "category_name": "耽美同人", "channel_id": 2, "pid": 102}, {"id": 107, "category_name": "其他", "channel_id": 2, "pid": 100}, {"id": 108, "category_name": "异世大陆", "channel_id": 2, "pid": 93}, {"id": 109, "category_name": "远古神话", "channel_id": 2, "pid": 93}, {"id": 110, "category_name": "上古蛮荒", "channel_id": 2, "pid": 93}, {"id": 111, "category_name": "侦探推理", "channel_id": 2, "pid": 92}, {"id": 112, "category_name": "神秘文化", "channel_id": 2, "pid": 92}, {"id": 113, "category_name": "悬疑探险", "channel_id": 2, "pid": 92}, {"id": 114, "category_name": "恐怖惊悚", "channel_id": 2, "pid": 92}, {"id": 115, "category_name": "鬼夫言情", "channel_id": 2, "pid": 92}, {"id": 116, "category_name": "都市职场", "channel_id": 2, "pid": 87}, {"id": 117, "category_name": "娱乐明星", "channel_id": 2, "pid": 87}, {"id": 118, "category_name": "都市异能", "channel_id": 2, "pid": 87}, {"id": 119, "category_name": "游戏", "channel_id": 2, "pid": 87}, {"id": 120, "category_name": "宫斗宅斗", "channel_id": 2, "pid": 82}, {"id": 121, "category_name": "古典架空", "channel_id": 2, "pid": 82}, {"id": 122, "category_name": "清穿民国", "channel_id": 2, "pid": 82}, {"id": 123, "category_name": "女尊王朝", "channel_id": 2, "pid": 82}, {"id": 124, "category_name": "其他", "channel_id": 1, "pid": 0}, {"id": 125, "category_name": "衍生同人", "channel_id": 1, "pid": 124}, {"id": 126, "category_name": "轻小说", "channel_id": 1, "pid": 124}, {"id": 127, "category_name": "其他作品", "channel_id": 1, "pid": 124}, ] def get_category_by_name(category_name): for item in base_category: if item['category_name'] == category_name: return item return None def get_category_by_id(category_id): for item in base_category: if item['id'] == int(category_id): return item return None def random_str(slen=10): seed = "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" sa = [] for i in range(slen): sa.append(random.choice(seed)) return ''.join(sa) def my_log(name, msg, level='info'): logger = logging.getLogger('stats') logger.setLevel("DEBUG") file = 'content_spider/log/common' + time.strftime("%Y-%m-%d", time.localtime()) + '.log' logger.addHandler(logging.FileHandler(file)) now_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) s = now_time + ' [{}] '.format(name) + level.upper() + ':' + str(msg) if level == 'error': logger.error(s) else: logger.info(s) def md5(keystr): m = hashlib.md5() m.update(keystr.encode('utf-8')) return m.hexdigest()