Util.py 5.8 KB

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