lanqiu.py 46 KB

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