lanqiu.py 45 KB

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