lanqiu.py 40 KB

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