lanqiu.py 40 KB

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