roll_lanqiu.py 37 KB

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