docs: def _get_lottery_detail_by_id(self, id):
          """
          相应彩种历史信息生成
          百度详细信息页有两种结构，需要分开处理
          """
          header = '编号 期号 开奖日期 开奖号码'.split()
          pt = PrettyTable()
          pt._set_field_names(header)
  
          url = QUERY_DETAIL_URL.format(id=id)
          import requests
          content = requests.get(url).text
          d = pq(content)
          if d('table.historylist'):
              # 输出彩种
              info = d('div.historyHd1 h2').text()
              print(info)
              # 输出table
              rows = d('table.historylist>tbody>tr')
              for idx, row in enumerate(rows):
                  i = pq(row)
                  qh = i('td:eq(0)').text().strip()
                  kjrq = i('td:eq(1)').text().strip()
                  hm_r = colored.red(i('td:eq(2) td.redBalls').text().strip())
                  hm_g = colored.green(i('td:eq(2) td.blueBalls').text().strip())
                  kjhm = ' '.join([hm_r, hm_g])
                  item = [idx + 1, qh, kjrq, kjhm]
                  pt.add_row(item)
              print(pt)
          elif d('table#draw_list'):
              # 输出彩种
              info = d('div.cpinfo>div.title').text()
              print(info)
              # 输出table
              rows = d('table#draw_list>tbody>tr')
              for idx, row in enumerate(rows):
                  i = pq(row)
                  qh = i('td.td2').text().strip()
                  kjrq = i('td.td1').text().strip()
                  hm_r = colored.red(i('td.td3 span.ball_1').text().strip())
                  hm_g = colored.green(i('td.td3 span.ball_2').text().strip())
                  kjhm = ' '.join([hm_r, hm_g])
                  item = [idx + 1, qh, kjrq, kjhm]
                  pt.add_row(item)
              print(pt)
          else:
              print('请联系作者')