roll_lanqiu.py 39 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727
  1. # -*- coding: utf-8 -*-
  2. import datetime
  3. import json
  4. # import jsonpath
  5. import time
  6. import redis
  7. import scrapy
  8. from scrapy.http import Request
  9. from ..settings import R_HOST, R_PASSWORD, R_POST, R_DB
  10. from ..items import Roll_Lanqiu
  11. def rangqiu_daxiao(inner):
  12. concede = [inner[i] for i in range(len(inner)) if i % 2 == 1]
  13. # 主队让球条件赔率
  14. concedehome = [concede[i] for i in range(len(concede)) if i % 2 == 0]
  15. # 客队让球条件赔率
  16. concedeguest = [concede[i] for i in range(len(concede)) if i % 2 == 1]
  17. # 主队让球条件
  18. concede_home_rule = [concedehome[i] for i in range(len(concedehome)) if i % 2 == 0]
  19. # 主队让球赔率
  20. concede_home = [concedehome[i] for i in range(len(concedehome)) if i % 2 == 1]
  21. # 客队让球条件
  22. concede_guest_rule = [concedeguest[i] for i in range(len(concedeguest)) if i % 2 == 0]
  23. # 客队让球赔率
  24. concede_guest = [concedeguest[i] for i in range(len(concedeguest)) if i % 2 == 1]
  25. return concede_home_rule, concede_home, concede_guest_rule, concede_guest
  26. def danshaung_fun(inner):
  27. odd_even = [inner[i] for i in range(len(inner)) if i % 2 == 1]
  28. # 全场 总分单
  29. odd_even_odd = [odd_even[i] for i in range(len(odd_even)) if i % 2 == 0]
  30. # 全场 总分双
  31. odd_even_even = [odd_even[i] for i in range(len(odd_even)) if i % 2 == 1]
  32. return odd_even_odd, odd_even_even
  33. class LanqiuSpider(scrapy.Spider):
  34. name = "roll_lanqiu"
  35. to_day = datetime.datetime.now()
  36. allowed_domains = ['hg3535z.com']
  37. start_urls = ['https://odata.yonghuai5515.com/odds6i/d/getodds/zh-cn/sid/2/pt/4/ubt/am/pn/0/sb/2/dc/null/pid/0']
  38. custom_settings = {
  39. "ITEM_PIPELINES": {
  40. "hg3535.pipeline.roll_lanqiu.Roll_Lanqiupipeline": 200,
  41. },
  42. # 'LOG_LEVEL': 'DEBUG',
  43. # 'LOG_FILE': "../hg3535/log/roll_lanqiu_{}_{}_{}.log".format(to_day.year, to_day.month, to_day.day)
  44. }
  45. rls = redis.Redis(host=R_HOST, port=R_POST, db=R_DB, password=R_PASSWORD)
  46. def parse(self, response):
  47. responses = json.loads(response.text)
  48. try:
  49. datas = responses["i-ot"]
  50. except:
  51. print("暂无滚球篮球数据")
  52. return
  53. if datas:
  54. for data in datas:
  55. egs = data.get('egs')
  56. if egs:
  57. for es in egs:
  58. es = es['es']
  59. for e in es:
  60. match_id = e['i'][16]
  61. # self.rls.sadd('hg3535.gunqiu.ids', match_id)
  62. # up_time = str(time.time()) + '&' + 'lq'
  63. # self.rls.hset('hg3535.ball.ids', match_id, up_time)
  64. creation = time.strftime('%Y-%m-%d', time.localtime())
  65. self.rls.hsetnx('hg3535.GunQiu.ids', match_id, creation)
  66. url = 'https://odata.yonghuai5515.com/odds6i/d/getamodds/zh-cn/eid/{}/iip/true/ubt/am/isp/false'.format(match_id)
  67. yield Request(url=url, callback=self.parse_other, dont_filter=True)
  68. else:
  69. print('篮球滚球数据,为空,无比赛')
  70. return
  71. def parse_other(self, response):
  72. try:
  73. new_datas = json.loads(response.text).get('eg', "")
  74. except:
  75. new_datas = ''
  76. item = Roll_Lanqiu()
  77. if new_datas:
  78. # 联赛id
  79. league_id = new_datas.get("c", "").get("k", "")
  80. # 联赛名
  81. league_name = new_datas.get("c", "").get("n", "")
  82. new_data = new_datas.get("es", "")
  83. # result = new_data[0]
  84. team_scores_dict = {}
  85. team_scores_dict_rule = {}
  86. for result in new_data:
  87. ctid = result['pci']['ctid']
  88. if ctid == 0:
  89. # 比赛id
  90. game_id = str(result['k'])
  91. # 球队1
  92. team_home = result['i'][0]
  93. # 球队2
  94. team_guest = result['i'][1]
  95. # 数量(97>)
  96. number = result['i'][2]
  97. # 比赛状态
  98. zhuangtai = result['i'][3]
  99. # 日期
  100. data_game = result['i'][4]
  101. # 开赛时间 滚球实际只有一个进行时间
  102. # time_game = result['i'][5]
  103. try:
  104. time_game = result['sb']['ct']
  105. except:
  106. time_game = '00:00'
  107. # 队1分数
  108. score_home1 = result['i'][10]
  109. # 队2分数
  110. score_guest1 = result['i'][11]
  111. # 第几节
  112. jijie = result['i'][12]
  113. # 球队得分
  114. qiudui = result['pci'].get('ctn', "")
  115. # ----------------------------------------让球分割线---------------------------------------------------------------------------
  116. concedes_dict = {}
  117. concedes_dict_rule = {}
  118. try:
  119. concedes = result['o']["ah"]["v"]
  120. # print(concedes)
  121. # 主队让球条件,主队让球赔率,客队让球条件,客队让球赔率
  122. concede_home_rule, concede_home, concede_guest_rule, concede_guest = rangqiu_daxiao(inner=concedes)
  123. concedes_dict_rule['coh'] = concede_home_rule
  124. concedes_dict['coh'] = concede_home
  125. concedes_dict_rule['cog'] = concede_guest_rule
  126. concedes_dict['cog'] = concede_guest
  127. except:
  128. concedes_dict_rule['coh'] = ""
  129. concedes_dict['coh'] = ""
  130. concedes_dict_rule['cog'] = ""
  131. concedes_dict['cog'] = ""
  132. # print(concedes_dict)
  133. try:
  134. half_concedes = result['o']["ah1st"]["v"]
  135. # 上半场 主队让球条件
  136. half_concede_home_rule, half_concede_home, half_concede_guest_rule, half_concede_guest = rangqiu_daxiao(inner=half_concedes)
  137. concedes_dict_rule['coh_h'] = half_concede_home_rule
  138. concedes_dict['coh_h'] = half_concede_home
  139. concedes_dict_rule['cog_h'] = half_concede_guest_rule
  140. concedes_dict['cog_h'] = half_concede_guest
  141. except:
  142. concedes_dict_rule['coh_h'] = ""
  143. concedes_dict['coh_h'] = ""
  144. concedes_dict_rule['cog_h'] = ""
  145. concedes_dict['cog_h'] = ""
  146. # 第一节让球
  147. try:
  148. one_concedes = result['o']["ahq1"]["v"]
  149. one_concede_home_rule, one_concede_home, one_concede_guest_rule, one_concede_guest = rangqiu_daxiao(inner=one_concedes)
  150. concedes_dict_rule['coh_1'] = one_concede_home_rule
  151. concedes_dict['coh_1'] = one_concede_home
  152. concedes_dict_rule['cog_1'] = one_concede_guest_rule
  153. concedes_dict['cog_1'] = one_concede_guest
  154. except:
  155. concedes_dict_rule['coh_1'] = ""
  156. concedes_dict['coh_1'] = ""
  157. concedes_dict_rule['cog_1'] = ""
  158. concedes_dict['cog_1'] = ""
  159. # 第二节让球
  160. try:
  161. two_concedes = result['o']["ahq2"]["v"]
  162. two_concede_home_rule, two_concede_home, two_concede_guest_rule, two_concede_guest = rangqiu_daxiao(inner=two_concedes)
  163. concedes_dict_rule['coh_2'] = two_concede_home_rule
  164. concedes_dict['coh_2'] = two_concede_home
  165. concedes_dict_rule['cog_2'] = two_concede_guest_rule
  166. concedes_dict['cog_2'] = two_concede_guest
  167. except:
  168. concedes_dict_rule['coh_2'] = ""
  169. concedes_dict['coh_2'] = ""
  170. concedes_dict_rule['cog_2'] = ""
  171. concedes_dict['cog_2'] = ""
  172. # 第三节让球
  173. try:
  174. three_concedes = result['o']["ahq3"]["v"]
  175. three_concede_home_rule, three_concede_home, three_concede_guest_rule, three_concede_guest = rangqiu_daxiao(inner=three_concedes)
  176. concedes_dict_rule['coh_3'] = three_concede_home_rule
  177. concedes_dict['coh_3'] = three_concede_home
  178. concedes_dict_rule['cog_3'] = three_concede_guest_rule
  179. concedes_dict['cog_3'] = three_concede_guest
  180. except:
  181. concedes_dict_rule['coh_3'] = ""
  182. concedes_dict['coh_3'] = ""
  183. concedes_dict_rule['cog_3'] = ""
  184. concedes_dict['cog_3'] = ""
  185. # 第四节让球
  186. try:
  187. four_concedes = result['o']["ahq4"]["v"]
  188. four_concede_home_rule, four_concede_home, four_concede_guest_rule, four_concede_guest = rangqiu_daxiao(inner=four_concedes)
  189. concedes_dict_rule['coh_4'] = four_concede_home_rule
  190. concedes_dict['coh_4'] = four_concede_home
  191. concedes_dict_rule['cog_4'] = four_concede_guest_rule
  192. concedes_dict['cog_4'] = four_concede_guest
  193. except:
  194. concedes_dict_rule['coh_4'] = ""
  195. concedes_dict['coh_4'] = ""
  196. concedes_dict_rule['cog_4'] = ""
  197. concedes_dict['cog_4'] = ""
  198. # ----------------------------------------总分大小分割线 - ---------------------------------------------------------------
  199. # 全场总分大小
  200. total_sizes_dict = {}
  201. total_sizes_dict_rule = {}
  202. try:
  203. total_sizes = result['o']["ou"]["v"]
  204. total_sizes_big_rule, total_sizes_big, total_sizes_small_rule, total_sizes_small = rangqiu_daxiao(inner=total_sizes)
  205. total_sizes_dict_rule["tnb"] = total_sizes_big_rule
  206. total_sizes_dict["tnb"] = total_sizes_big
  207. total_sizes_dict_rule["tns"] = total_sizes_small_rule
  208. total_sizes_dict["tns"] = total_sizes_small
  209. except:
  210. total_sizes_dict_rule["tnb"] = ""
  211. total_sizes_dict["tnb"] = ""
  212. total_sizes_dict_rule["tns"] = ""
  213. total_sizes_dict["tns"] = ""
  214. # 上半场总分大小
  215. try:
  216. half_total_sizes = result['o']["ou1st"]["v"]
  217. half_total_sizes_big_rule, half_total_sizes_big, half_total_sizes_small_rule, half_total_sizes_small = rangqiu_daxiao(
  218. inner=half_total_sizes)
  219. total_sizes_dict_rule["tnb_h"] = half_total_sizes_big_rule
  220. total_sizes_dict["tnb_h"] = half_total_sizes_big
  221. total_sizes_dict_rule["tns_h"] = half_total_sizes_small_rule
  222. total_sizes_dict["tns_h"] = half_total_sizes_small
  223. except:
  224. total_sizes_dict_rule["tnb_h"] = ""
  225. total_sizes_dict["tnb_h"] = ""
  226. total_sizes_dict_rule["tns_h"] = ""
  227. total_sizes_dict["tns_h"] = ""
  228. # 第一节总分大小
  229. try:
  230. one_total_sizes = result['o']["ouq1"]["v"]
  231. one_total_sizes_big_rule, one_total_sizes_big, one_total_sizes_small_rule, one_total_sizes_small = rangqiu_daxiao(
  232. inner=one_total_sizes)
  233. total_sizes_dict_rule["tnb_1"] = one_total_sizes_big_rule
  234. total_sizes_dict["tnb_1"] = one_total_sizes_big
  235. total_sizes_dict_rule["tns_1"] = one_total_sizes_small_rule
  236. total_sizes_dict["tns_1"] = one_total_sizes_small
  237. except:
  238. total_sizes_dict_rule["tnb_1"] = ""
  239. total_sizes_dict["tnb_1"] = ""
  240. total_sizes_dict_rule["tns_1"] = ""
  241. total_sizes_dict["tns_1"] = ""
  242. # 第二节场总分大小
  243. try:
  244. two_total_sizes = result['o']["ouq2"]["v"]
  245. two_total_sizes_big_rule, two_total_sizes_big, two_total_sizes_small_rule, two_total_sizes_small = rangqiu_daxiao(
  246. inner=two_total_sizes)
  247. total_sizes_dict_rule["tnb_2"] = two_total_sizes_big_rule
  248. total_sizes_dict["tnb_2"] = two_total_sizes_big
  249. total_sizes_dict_rule["tns_2"] = two_total_sizes_small_rule
  250. total_sizes_dict["tns_2"] = two_total_sizes_small
  251. except:
  252. total_sizes_dict_rule["tnb_2"] = ""
  253. total_sizes_dict["tnb_2"] = ""
  254. total_sizes_dict_rule["tns_2"] = ""
  255. total_sizes_dict["tns_2"] = ""
  256. # 第三节总分大小
  257. try:
  258. three_total_sizes = result['o']["ouq3"]["v"]
  259. three_total_sizes_big_rule, three_total_sizes_big, three_total_sizes_small_rule, three_total_sizes_small = rangqiu_daxiao(
  260. inner=three_total_sizes)
  261. total_sizes_dict_rule["tnb_3"] = three_total_sizes_big_rule
  262. total_sizes_dict["tnb_3"] = three_total_sizes_big
  263. total_sizes_dict_rule["tns_3"] = three_total_sizes_small_rule
  264. total_sizes_dict["tns_3"] = three_total_sizes_small
  265. except:
  266. total_sizes_dict_rule["tnb_3"] = ""
  267. total_sizes_dict["tnb_3"] = ""
  268. total_sizes_dict_rule["tns_3"] = ""
  269. total_sizes_dict["tns_3"] = ""
  270. # 第四节总分大小
  271. try:
  272. four_total_sizes = result['o']["ouq4"]["v"]
  273. four_total_sizes_big_rule, four_total_sizes_big, four_total_sizes_small_rule, four_total_sizes_small = rangqiu_daxiao(
  274. inner=four_total_sizes)
  275. total_sizes_dict_rule["tnb_4"] = four_total_sizes_big_rule
  276. total_sizes_dict["tnb_4"] = four_total_sizes_big
  277. total_sizes_dict_rule["tns_4"] = four_total_sizes_small_rule
  278. total_sizes_dict["tns_4"] = four_total_sizes_small
  279. except:
  280. total_sizes_dict_rule["tnb_4"] = ""
  281. total_sizes_dict["tnb_4"] = ""
  282. total_sizes_dict_rule["tns_4"] = ""
  283. total_sizes_dict["tns_4"] = ""
  284. # ----------------------------------------总分单双分割线------------------------------------------------------------------
  285. # 全场 总分单双
  286. odd_evens_dict = {}
  287. odd_evens_dict_rule = {}
  288. try:
  289. odd_evens = result['o']["oe"]["v"]
  290. # 全场 总分单, 全场 总分双
  291. odd_evens_dict["tss"] = odd_evens[1]
  292. odd_evens_dict_rule['tss'] = '单'
  293. odd_evens_dict["tsd"] = odd_evens[3]
  294. odd_evens_dict_rule['tsd'] = '双'
  295. except:
  296. odd_evens_dict["tss"] = ""
  297. odd_evens_dict_rule['tss'] = '单'
  298. odd_evens_dict["tsd"] = ""
  299. odd_evens_dict_rule['tsd'] = '双'
  300. # 上半场全场 总分单双
  301. try:
  302. half_odd_evens = result['o']["oe1st"]["v"]
  303. # 上半场 总分单, 上半场 总分双
  304. odd_evens_dict["tss_h"] = half_odd_evens[1]
  305. odd_evens_dict_rule['tss_h'] = '单'
  306. odd_evens_dict["tsd_h"] = half_odd_evens[3]
  307. odd_evens_dict_rule['tsd_h'] = '双'
  308. except:
  309. # half_odd_even_odd = ""
  310. # half_odd_even_even = ""
  311. odd_evens_dict["tss_h"] = ""
  312. odd_evens_dict_rule['tss_h'] = '单'
  313. odd_evens_dict["tsd_h"] = ""
  314. odd_evens_dict_rule['tsd_h'] = '双'
  315. # 总分:单/双-第一节
  316. try:
  317. one_odd_evens = result['o']["oeq1"]["v"]
  318. odd_evens_dict["tss_1"] = one_odd_evens[1]
  319. odd_evens_dict_rule['tss_1'] = '单'
  320. odd_evens_dict["tsd_1"] = one_odd_evens[3]
  321. odd_evens_dict_rule['tsd_1'] = '双'
  322. except:
  323. odd_evens_dict["tss_1"] = ""
  324. odd_evens_dict_rule['tss_1'] = '单'
  325. odd_evens_dict["tsd_1"] = ""
  326. odd_evens_dict_rule['tsd_1'] = '双'
  327. # 总分:单/双-第二节
  328. try:
  329. two_odd_evens = result['o']["oeq2"]["v"]
  330. odd_evens_dict["tss_2"] = two_odd_evens[1]
  331. odd_evens_dict_rule['tss_2'] = '单'
  332. odd_evens_dict["tsd_2"] = two_odd_evens[3]
  333. odd_evens_dict_rule['tsd_2'] = '双'
  334. except:
  335. # two_odd_even_odd = ""
  336. # two_odd_even_even = ""
  337. odd_evens_dict["tss_2"] = ""
  338. odd_evens_dict_rule['tss_2'] = '单'
  339. odd_evens_dict["tsd_2"] = ""
  340. odd_evens_dict_rule['tsd_2'] = '双'
  341. # 总分:单/双-第三节
  342. try:
  343. three_odd_evens = result['o']["oeq3"]["v"]
  344. odd_evens_dict["tss_3"] = three_odd_evens[1]
  345. odd_evens_dict_rule['tss_3'] = '单'
  346. odd_evens_dict["tsd_3"] = three_odd_evens[3]
  347. odd_evens_dict_rule['tsd_3'] = '双'
  348. except:
  349. odd_evens_dict["tss_3"] = ""
  350. odd_evens_dict_rule['tss_3'] = '单'
  351. odd_evens_dict["tsd_3"] = ""
  352. odd_evens_dict_rule['tsd_3'] = '双'
  353. # 总分:单/双-第四节
  354. try:
  355. four_odd_evens = result['o']["oeq4"]["v"]
  356. odd_evens_dict["tss_4"] = four_odd_evens[1]
  357. odd_evens_dict_rule['tss_4'] = '单'
  358. odd_evens_dict["tsd_4"] = four_odd_evens[3]
  359. odd_evens_dict_rule['tsd_4'] = '双'
  360. except:
  361. odd_evens_dict["tss_4"] = ""
  362. odd_evens_dict_rule['tss_4'] = '单'
  363. odd_evens_dict["tsd_4"] = ""
  364. odd_evens_dict_rule['tsd_4'] = '双'
  365. # ----------------------------------------球队得分最后一位数分割线---------------------------------------------------------
  366. # 球队得分最后一位数 主队
  367. last_numbers_dict = {}
  368. try:
  369. last_numbers = result["p-o"][0]['o']
  370. last_home = {}
  371. for last_number in last_numbers:
  372. last_home[last_number[0]] = last_number[2]
  373. except:
  374. last_home = {}
  375. last_numbers_dict["last_home"] = last_home
  376. # 球队得分最后一位数 客队
  377. try:
  378. new_last_numbers = result["p-o"][1]['o']
  379. last_guest = {}
  380. for new_last_number in new_last_numbers:
  381. last_guest[new_last_number[0]] = new_last_number[2]
  382. except:
  383. last_guest = {}
  384. last_numbers_dict["last_guest"] = last_guest
  385. # ------------------------------------------------------独赢分割线---------------------------------------------------------
  386. capots_dict = {}
  387. # 独赢
  388. try:
  389. capots = result['o']["ml"]["v"]
  390. capot_list = [capots[i] for i in range(len(capots)) if i % 2 == 1]
  391. capot_home = capot_list[0]
  392. capot_guest = capot_list[1]
  393. capots_dict["ch"] = capot_home
  394. capots_dict["cg"] = capot_guest
  395. except:
  396. capots_dict["ch"] = ""
  397. capots_dict["cg"] = ""
  398. # 上半场独赢
  399. try:
  400. half_capots = result['o']["ml1st"]["v"]
  401. half_capot_list = [half_capots[i] for i in range(len(half_capots)) if i % 2 == 1]
  402. half_capot_home = half_capot_list[0]
  403. half_capot_guest = half_capot_list[1]
  404. capots_dict["ch_h"] = half_capot_home
  405. capots_dict["cg_h"] = half_capot_guest
  406. except:
  407. capots_dict["ch_h"] = ""
  408. capots_dict["cg_h"] = ""
  409. # 第一节独赢
  410. try:
  411. one_capots = result['o']["mlq1"]["v"]
  412. one_capot_list = [one_capots[i] for i in range(len(one_capots)) if i % 2 == 1]
  413. one_capot_home = one_capot_list[0]
  414. one_capot_guest = one_capot_list[1]
  415. capots_dict["ch_1"] = one_capot_home
  416. capots_dict["cg_1"] = one_capot_guest
  417. except:
  418. capots_dict["ch_1"] = ""
  419. capots_dict["cg_1"] = ""
  420. # 第二节独赢
  421. try:
  422. two_capots = result['o']["mlq2"]["v"]
  423. two_capot_list = [two_capots[i] for i in range(len(two_capots)) if i % 2 == 1]
  424. two_capot_home = two_capot_list[0]
  425. two_capot_guest = two_capot_list[1]
  426. capots_dict["ch_2"] = two_capot_home
  427. capots_dict["cg_2"] = two_capot_guest
  428. except:
  429. capots_dict["ch_2"] = ""
  430. capots_dict["cg_2"] = ""
  431. # 第三节独赢
  432. try:
  433. three_capots = result['o']["mlq3"]["v"]
  434. three_capot_list = [three_capots[i] for i in range(len(three_capots)) if i % 2 == 1]
  435. three_capot_home = three_capot_list[0]
  436. three_capot_guest = three_capot_list[1]
  437. capots_dict["ch_3"] = three_capot_home
  438. capots_dict["cg_3"] = three_capot_guest
  439. except:
  440. capots_dict["ch_3"] = ""
  441. capots_dict["cg_3"] = ""
  442. # 第四节独赢
  443. try:
  444. four_capots = result['o']["mlq4"]["v"]
  445. four_capot_list = [four_capots[i] for i in range(len(four_capots)) if i % 2 == 1]
  446. four_capot_home = four_capot_list[0]
  447. four_capot_guest = four_capot_list[1]
  448. capots_dict["ch_4"] = four_capot_home
  449. capots_dict["cg_4"] = four_capot_guest
  450. except:
  451. capots_dict["ch_4"] = ""
  452. capots_dict["cg_4"] = ""
  453. score_dict = {}
  454. try:
  455. # 当前节
  456. score_dict['schedule'] = result['sb']['cp']
  457. # 时间
  458. score_dict['r_time'] = result['sb']['ct']
  459. # "sc_1th_H": "15", //第一节 主队得分
  460. # "sc_1th_C": "16", //第一节 客队得分
  461. score_dict['sc_1th_H'] = result['sb']['ps'][2]['h']
  462. score_dict['sc_1th_C'] = result['sb']['ps'][2]['a']
  463. score_dict['sc_2th_H'] = result['sb']['ps'][3]['h']
  464. score_dict['sc_2th_C'] = result['sb']['ps'][3]['a']
  465. score_dict['sc_3th_H'] = result['sb']['ps'][4]['h']
  466. score_dict['sc_3th_C'] = result['sb']['ps'][4]['a']
  467. score_dict['sc_4th_H'] = result['sb']['ps'][5]['h']
  468. score_dict['sc_4th_C'] = result['sb']['ps'][5]['a']
  469. score_dict['overtime_H'] = result['sb']['ps'][7]['h']
  470. score_dict['overtime_C'] = result['sb']['ps'][7]['a']
  471. score_dict['half_H'] = result['sb']['ps'][0]['h']
  472. score_dict['half_C'] = result['sb']['ps'][0]['a']
  473. score_dict['full_H'] = result['sb']['ps'][6]['h']
  474. score_dict['full_C'] = result['sb']['ps'][6]['a']
  475. score_dict['whole_H'] = result['sb']['ps'][1]['h']
  476. score_dict['whole_C'] = result['sb']['ps'][1]['a']
  477. except:
  478. pass
  479. # ---------------------------------------------------华丽分割线列表es[1]-----------------------------------
  480. # 球队得分大/小 全场主队 home
  481. if ctid == 41:
  482. if result:
  483. try:
  484. score_homes = result["o"]["ou"]['v']
  485. score_home_big_rule, score_home_big, score_home_small_rule, score_home_small = rangqiu_daxiao(inner=score_homes)
  486. team_scores_dict_rule["tbhb"] = score_home_big_rule
  487. team_scores_dict["tbhb"] = score_home_big
  488. team_scores_dict_rule["tbhs"] = score_home_small_rule
  489. team_scores_dict["tbhs"] = score_home_small
  490. except:
  491. team_scores_dict_rule["tbhb"] = ""
  492. team_scores_dict["tbhb"] = ""
  493. team_scores_dict_rule["tbhs"] = ""
  494. team_scores_dict["tbhs"] = ""
  495. # 球队得分 上半场主队 home
  496. try:
  497. half_score_homes = result['o']['ou1st']['v']
  498. # 球队得分 上半场主队 大条件
  499. half_score_home_big_rule, half_score_home_big, half_score_home_small_rule, half_score_home_small = rangqiu_daxiao(
  500. inner=half_score_homes)
  501. team_scores_dict_rule["tbhb_h"] = half_score_home_big_rule
  502. team_scores_dict["tbhb_h"] = half_score_home_big
  503. team_scores_dict_rule["tbhs_h"] = half_score_home_small_rule
  504. team_scores_dict["tbhs_h"] = half_score_home_small
  505. except:
  506. team_scores_dict_rule["tbhb_h"] = ""
  507. team_scores_dict["tbhb_h"] = ""
  508. team_scores_dict_rule["tbhs_h"] = ""
  509. team_scores_dict["tbhs_h"] = ""
  510. # 球队得分:主队-大 / 小-第一节
  511. try:
  512. one_score_homes = result['o']["ouq1"]["v"]
  513. one_score_home_big_rule, one_score_home_big, one_score_home_small_rule, one_score_home_small = rangqiu_daxiao(
  514. inner=one_score_homes)
  515. team_scores_dict_rule["tbhb_1"] = one_score_home_big_rule
  516. team_scores_dict["tbhb_1"] = one_score_home_big
  517. team_scores_dict_rule["tbhs_1"] = one_score_home_small_rule
  518. team_scores_dict["tbhs_1"] = one_score_home_small
  519. except:
  520. team_scores_dict_rule["tbhb_1"] = ""
  521. team_scores_dict["tbhb_1"] = ""
  522. team_scores_dict_rule["tbhs_1"] = ""
  523. team_scores_dict["tbhs_1"] = ""
  524. # 球队得分:主队-大 / 小-第二节
  525. try:
  526. two_score_homes = result['o']["ouq2"]["v"]
  527. two_score_home_big_rule, two_score_home_big, two_score_home_small_rule, two_score_home_small = rangqiu_daxiao(
  528. inner=two_score_homes)
  529. team_scores_dict_rule["tbhb_2"] = two_score_home_big_rule
  530. team_scores_dict["tbhb_2"] = two_score_home_big
  531. team_scores_dict_rule["tbhs_2"] = two_score_home_small_rule
  532. team_scores_dict["tbhs_2"] = two_score_home_small
  533. except:
  534. team_scores_dict_rule["tbhb_2"] = ""
  535. team_scores_dict["tbhb_2"] = ""
  536. team_scores_dict_rule["tbhs_2"] = ""
  537. team_scores_dict["tbhs_2"] = ""
  538. # 球队得分:主队-大 / 小-第三节
  539. try:
  540. three_score_homes = result['o']["ouq3"]["v"]
  541. three_score_home_big_rule, three_score_home_big, three_score_home_small_rule, three_score_home_small = rangqiu_daxiao(
  542. inner=three_score_homes)
  543. team_scores_dict_rule["tbhb_3"] = three_score_home_big_rule
  544. team_scores_dict["tbhb_3"] = three_score_home_big
  545. team_scores_dict_rule["tbhs_3"] = three_score_home_small_rule
  546. team_scores_dict["tbhs_3"] = three_score_home_small
  547. except:
  548. team_scores_dict_rule["tbhb_3"] = ""
  549. team_scores_dict["tbhb_3"] = ""
  550. team_scores_dict_rule["tbhs_3"] = ""
  551. team_scores_dict["tbhs_3"] = ""
  552. # 球队得分:主队-大 / 小-第四节
  553. try:
  554. four_score_homes = result['o']["ouq4"]["v"]
  555. four_score_home_big_rule, four_score_home_big, four_score_home_small_rule, four_score_home_small = rangqiu_daxiao(
  556. inner=four_score_homes)
  557. team_scores_dict_rule["tbhb_4"] = four_score_home_big_rule
  558. team_scores_dict["tbhb_4"] = four_score_home_big
  559. team_scores_dict_rule["tbhs_4"] = four_score_home_small_rule
  560. team_scores_dict["tbhs_4"] = four_score_home_small
  561. except:
  562. team_scores_dict_rule["tbhs_4"] = ""
  563. team_scores_dict["tbhb_4"] = ""
  564. team_scores_dict_rule["tbhs_4"] = ""
  565. team_scores_dict["tbhs_4"] = ""
  566. # ---------------------------------------------------华丽分割线列表es[2]-----------------------------------
  567. # 球队得分 客队 guest
  568. if ctid == 42:
  569. if result:
  570. try:
  571. # 球队得分: 大 / 小
  572. score_guests = result["o"]["ou"]['v']
  573. score_guest_big_rule, score_guest_big, score_guest_small_rule, score_guest_small = rangqiu_daxiao(inner=score_guests)
  574. team_scores_dict_rule["tbgb"] = score_guest_big_rule
  575. team_scores_dict["tbgb"] = score_guest_big
  576. team_scores_dict_rule["tbgs"] = score_guest_small_rule
  577. team_scores_dict["tbgs"] = score_guest_small
  578. except:
  579. team_scores_dict_rule["tbgb"] = ""
  580. team_scores_dict["tbgb"] = ""
  581. team_scores_dict_rule["tbgs"] = ""
  582. team_scores_dict["tbgs"] = ""
  583. # 球队得分 上半场客队 guest
  584. try:
  585. half_score_guests = result["o"]['ou1st']['v']
  586. half_score_guest_big_rule, half_score_guest_big, half_score_guest_small_rule, half_score_guest_small = rangqiu_daxiao(
  587. inner=half_score_guests)
  588. team_scores_dict_rule["tbgb_h"] = half_score_guest_big_rule
  589. team_scores_dict["tbgb_h"] = half_score_guest_big
  590. team_scores_dict_rule["tbgs_h"] = half_score_guest_small_rule
  591. team_scores_dict["tbgs_h"] = half_score_guest_small
  592. except:
  593. team_scores_dict_rule["tbgb_h"] = ""
  594. team_scores_dict["tbgb_h"] = ""
  595. team_scores_dict_rule["tbgs_h"] = ""
  596. team_scores_dict["tbgs_h"] = ""
  597. # 球队得分第一节
  598. try:
  599. one_score_guests = result["o"]['ouq1']['v']
  600. one_score_guest_big_rule, one_score_guest_big, one_score_guest_small_rule, one_score_guest_small = rangqiu_daxiao(
  601. inner=one_score_guests)
  602. team_scores_dict_rule["tbgb_1"] = one_score_guest_big_rule
  603. team_scores_dict["tbgb_1"] = one_score_guest_big
  604. team_scores_dict_rule["tbgs_1"] = one_score_guest_small_rule
  605. team_scores_dict["tbgs_1"] = one_score_guest_small
  606. except:
  607. team_scores_dict_rule["tbgb_1"] = ""
  608. team_scores_dict["tbgb_1"] = ""
  609. team_scores_dict_rule["tbgs_1"] = ""
  610. team_scores_dict["tbgs_1"] = ""
  611. # 球队得分第二节
  612. try:
  613. two_score_guests = result["o"]['ouq2']['v']
  614. two_score_guest_big_rule, two_score_guest_big, two_score_guest_small_rule, two_score_guest_small = rangqiu_daxiao(
  615. inner=two_score_guests)
  616. team_scores_dict_rule["tbgb_2"] = two_score_guest_big_rule
  617. team_scores_dict["tbgb_2"] = two_score_guest_big
  618. team_scores_dict_rule["tbgs_2"] = two_score_guest_small_rule
  619. team_scores_dict["tbgs_2"] = two_score_guest_small
  620. except:
  621. team_scores_dict_rule["tbgb_2"] = ""
  622. team_scores_dict["tbgb_2"] = ""
  623. team_scores_dict_rule["tbgs_2"] = ""
  624. team_scores_dict["tbgs_2"] = ""
  625. # 球队得分第三节
  626. try:
  627. three_score_guests = result["o"]['ouq3']['v']
  628. three_score_guest_big_rule, three_score_guest_big, three_score_guest_small_rule, three_score_guest_small = rangqiu_daxiao(
  629. inner=three_score_guests)
  630. team_scores_dict_rule["tbgb_3"] = three_score_guest_big_rule
  631. team_scores_dict["tbgb_3"] = three_score_guest_big
  632. team_scores_dict_rule["tbgs_3"] = three_score_guest_small_rule
  633. team_scores_dict["tbgs_3"] = three_score_guest_small
  634. except:
  635. team_scores_dict_rule["tbgb_3"] = ""
  636. team_scores_dict["tbgb_3"] = ""
  637. team_scores_dict_rule["tbgs_3"] = ""
  638. team_scores_dict["tbgs_3"] = ""
  639. # 球队得分第四节
  640. try:
  641. four_score_guests = result["o"]['ouq4']['v']
  642. four_score_guest_big_rule, four_score_guest_big, four_score_guest_small_rule, four_score_guest_small = rangqiu_daxiao(
  643. inner=four_score_guests)
  644. team_scores_dict_rule["tbgb_4"] = four_score_guest_big_rule
  645. team_scores_dict["tbgb_4"] = four_score_guest_big
  646. team_scores_dict_rule["tbgs_4"] = four_score_guest_small_rule
  647. team_scores_dict["tbgs_4"] = four_score_guest_small
  648. except:
  649. team_scores_dict_rule["tbgb_4"] = ""
  650. team_scores_dict["tbgb_4"] = ""
  651. team_scores_dict_rule["tbgs_4"] = ""
  652. team_scores_dict["tbgs_4"] = ""
  653. # 篮球详细比分
  654. # 联赛id
  655. item['league_id'] = league_id
  656. # 联赛名
  657. item['league_name'] = league_name
  658. # item['result'] = result
  659. # 比赛id
  660. item['game_id'] = game_id
  661. # 球队1
  662. item['team_home'] = team_home
  663. # 球队2
  664. item['team_guest'] = team_guest
  665. # 数量(97>)
  666. item['number'] = number
  667. # 比赛状态
  668. item['zhuangtai'] = zhuangtai
  669. # 日期
  670. item['data_game'] = data_game
  671. # 开赛时间
  672. item['time_game'] = time_game
  673. # 队1分数
  674. item['score_home'] = score_home1
  675. # 队2分数
  676. item['score_guest'] = score_guest1
  677. # 第几节
  678. item['jijie'] = jijie
  679. # 球队得分
  680. item['qiudui'] = qiudui
  681. item['concede'] = concedes_dict
  682. item['concede_rule'] = concedes_dict_rule
  683. item['odd_even'] = odd_evens_dict
  684. item['odd_even_rule'] = odd_evens_dict_rule
  685. item['total_size'] = total_sizes_dict
  686. item['total_size_rule'] = total_sizes_dict_rule
  687. item['last_number'] = last_numbers_dict
  688. item['capot'] = capots_dict
  689. item['team_score'] = team_scores_dict
  690. item['team_score_rule'] = team_scores_dict_rule
  691. item['score_dict'] = score_dict
  692. yield item