lanqiu.py 40 KB

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