lanqiu.py 45 KB

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