lanqiu.py 46 KB

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