lanqiu.py 40 KB

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