roll_zuqiu.py 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517
  1. # -*- coding: utf-8 -*-
  2. import copy
  3. import datetime
  4. import json
  5. import jsonpath
  6. import scrapy
  7. from scrapy.http import Request
  8. from ..items import Roll_Zuqiu
  9. class ZuqiuSpider(scrapy.Spider):
  10. name = 'roll_zuqiu'
  11. to_day = datetime.datetime.now()
  12. allowed_domains = ['hg3535z.com']
  13. custom_settings = {
  14. "ITEM_PIPELINES":{
  15. 'hg3535.pipelines.Roll_Zuqiupipeline': 100,
  16. },
  17. 'LOG_LEVEL': 'DEBUG',
  18. 'LOG_FILE': "../hg3535/log/roll_zuqiu_{}_{}_{}.log".format(to_day.year, to_day.month,to_day.day)
  19. }
  20. start_urls = ['https://hg3535z.com/odds2/d/getodds?sid=1&pt=4&ubt=am&pn=0&sb=2&dc=null&pid=0'] # 滚球菜单 足球滚球列url
  21. def parse(self, response):
  22. datas = json.loads(response.text)
  23. # item = Today_all()
  24. ids = jsonpath.jsonpath(datas, '$..i-ot[0]..egs..es..i[16]') # ids新列表
  25. print(ids)
  26. if ids:
  27. ids = set(ids)
  28. for i in ids:
  29. urls = 'https://hg3535z.com/odds2/d/getamodds?eid={}&iip=true&ubt=am&isp=false'.format(i)
  30. print(urls)
  31. yield Request(url=urls, callback=self.parse_each,dont_filter=True)
  32. def parse_each(self, response):
  33. # 球队进球数 大小
  34. try:
  35. datas = json.loads(response.text)['eg']['es']
  36. league_id = json.loads(response.text)['eg']['c']['k']
  37. # 联赛名
  38. league_name = json.loads(response.text)['eg']['c']['n']
  39. except:
  40. datas = ""
  41. league_id = ""
  42. # 联赛名
  43. league_name = ""
  44. try:
  45. pt = response.meta['pt']
  46. except:
  47. pt = 0
  48. if datas:
  49. item = Roll_Zuqiu()
  50. full_dict = {}
  51. half_dict = {}
  52. full_dict_rule = {}
  53. half_dict_rule = {}
  54. for data in datas:
  55. try:
  56. new_data = data['pci']['ctid']
  57. except:
  58. new_data = ""
  59. if new_data == 0:
  60. # 比赛id
  61. game_id = str(data['k'])
  62. # 球队1
  63. team_home = data['i'][0]
  64. # 球队2
  65. team_guest = data['i'][1]
  66. # 数量(97>)
  67. number = data['i'][2]
  68. # 下半场
  69. half_way = data['i'][12]
  70. # 角球或者其他
  71. corner_ball = data['pci'].get('ctn', "")
  72. # 日期
  73. data_game = data['i'][4]
  74. # 开赛时间
  75. time_game = data['i'][5]
  76. #这个地方的值不准确 需要再次确认
  77. score_home = data['i'][10] # 队一分数
  78. score_guest = data['i'][11] # 队二分数
  79. # half_way = new_result['i'][12] #下半场
  80. # 让球------------------------------------------------------------------------------------------------------------------
  81. try:
  82. concedes = data['o']['ah']['v']
  83. new_concedes = [concedes[i] for i in range(len(concedes)) if i % 2 == 1]
  84. concede_homes = [new_concedes[i] for i in range(len(new_concedes)) if i % 2 == 0]
  85. concede_home_rule = [concede_homes[i] for i in range(len(concede_homes)) if i % 2 == 0]
  86. if pt is 3:
  87. concede_home = [round(float(concede_homes[i]) - 1, 2) for i in range(len(concede_homes)) if i % 2 is 1]
  88. else:
  89. concede_home = [concede_homes[i] for i in range(len(concede_homes)) if i % 2 is 1]
  90. concede_guests = [new_concedes[i] for i in range(len(new_concedes)) if i % 2 is 1]
  91. # concede_guest_rule
  92. # concede_guest
  93. concede_guest_rule = [concede_guests[i] for i in range(len(concede_guests)) if i % 2 == 0]
  94. if pt is 3:
  95. concede_guest = [round(float(concede_guests[i]) - 1, 2) for i in range(len(concede_guests)) if i % 2 is 1]
  96. else:
  97. concede_guest = [concede_guests[i] for i in range(len(concede_guests)) if i % 2 is 1]
  98. except:
  99. concede_guest = ""
  100. concede_guest_rule = ""
  101. concede_home = ""
  102. concede_home_rule = ""
  103. # 上半场让球half_concede-------------------------------------------------------------------------------------------------
  104. try:
  105. half_concedes = data['o']['ah1st']['v']
  106. new_half_concedes = [half_concedes[i] for i in range(len(half_concedes)) if i % 2 is 1]
  107. new_half_concede_homes = [new_half_concedes[i] for i in range(len(new_half_concedes)) if
  108. i % 2 is 0]
  109. half_concede_guest_rule = [new_half_concede_homes[i] for i in range(len(new_half_concede_homes)) if i % 2 == 0]
  110. # concede_home
  111. if pt is 3:
  112. half_concede_home = [round(float(new_half_concede_homes[i]) - 1, 2) for i in range(len(new_half_concede_homes)) if i % 2 is 1]
  113. else:
  114. half_concede_home = [new_half_concede_homes[i] for i in range(len(new_half_concede_homes)) if i % 2 is 1]
  115. half_concede_guests = [new_half_concedes[i] for i in range(len(new_half_concedes)) if i % 2 is 1]
  116. half_concede_home_rule = [half_concede_guests[i] for i in range(len(half_concede_guests)) if i % 2 == 0]
  117. # concede_guest
  118. if pt is 3:
  119. half_concede_guest = [round(float(half_concede_guests[i]) -1, 2) for i in range(len(half_concede_guests)) if
  120. i % 2 is 1]
  121. else:
  122. half_concede_guest = [half_concede_guests[i] for i in range(len(half_concede_guests)) if
  123. i % 2 is 1]
  124. except:
  125. half_concede_home_rule = ""
  126. half_concede_home = ""
  127. half_concede_guest_rule = ""
  128. half_concede_guest = ""
  129. # 全场大小size 进球大小---------------------------------------------------------------------------------------------------
  130. try:
  131. sizes = data['o']['ou']['v']
  132. new_sizes = [sizes[i] for i in range(len(sizes)) if i % 2 is 1]
  133. size_homes = [new_sizes[i] for i in range(len(new_sizes)) if i % 2 is 0]
  134. # size_home_rule
  135. size_home_rule = [size_homes[i] for i in range(len(size_homes)) if i % 2 is 0]
  136. # size_home
  137. if pt is 3:
  138. size_home = [round(float(size_homes[i]) - 1, 2) for i in range(len(size_homes)) if i % 2 is 1]
  139. else:
  140. size_home = [size_homes[i] for i in range(len(size_homes)) if i % 2 is 1]
  141. size_guests = [new_sizes[i] for i in range(len(new_sizes)) if i % 2 is 1]
  142. # size_guest_rule
  143. size_guest_rule = [size_guests[i] for i in range(len(size_guests)) if i % 2 is 0]
  144. # csize_guest
  145. if pt is 3:
  146. size_guest = [round(float(size_guests[i]) - 1, 2) for i in range(len(size_guests)) if i % 2 is 1]
  147. else:
  148. size_guest = [size_guests[i] for i in range(len(size_guests)) if i % 2 is 1]
  149. except:
  150. size_guest = ""
  151. size_guest_rule = ""
  152. size_home = ""
  153. size_home_rule = ""
  154. # 上半场大小 进球大小 half_size-------------------------------------------------------------------------------------------
  155. try:
  156. half_sizes = data['o']['ou1st']['v']
  157. new_half_sizes = [half_sizes[i] for i in range(len(half_sizes)) if i % 2 is 1]
  158. half_size_homes = [new_half_sizes[i] for i in range(len(new_half_sizes)) if i % 2 is 0]
  159. # size_home_rule
  160. half_size_home_rule = [half_size_homes[i] for i in range(len(half_size_homes)) if
  161. i % 2 is 0]
  162. # half_size_home 主队
  163. if pt is 3:
  164. half_size_home = [round(float(half_size_homes[i]) - 1, 2) for i in range(len(half_size_homes)) if i % 2 is 1]
  165. else:
  166. half_size_home = [half_size_homes[i] for i in range(len(half_size_homes)) if i % 2 is 1]
  167. half_size_guests = [new_half_sizes[i] for i in range(len(new_half_sizes)) if i % 2 is 1]
  168. # half_size_guest_rule 客队
  169. half_size_guest_rule = [half_size_guests[i] for i in range(len(half_size_guests)) if
  170. i % 2 is 0]
  171. # half_size_guest
  172. if pt is 3:
  173. half_size_guest = [round(float(half_size_guests[i]) - 1, 2) for i in range(len(half_size_guests)) if
  174. i % 2 is 1]
  175. else:
  176. half_size_guest = [half_size_guests[i] for i in range(len(half_size_guests)) if
  177. i % 2 is 1]
  178. except:
  179. half_size_guest = ""
  180. half_size_guest_rule = ""
  181. half_size_home = ""
  182. half_size_home_rule = ""
  183. # 全场总进球 total_goal--------------------------------------------------------------------------------------------------
  184. total_goal = {}
  185. try:
  186. total_goals = data['o']['tg']['v']
  187. new_total_goals = [total_goals[i] for i in range(len(total_goals)) if i % 2 is 1]
  188. total_goal["total_goal_zero"] = round(float(new_total_goals[0]) - 1, 2)
  189. total_goal["total_goal_two"] = round(float(new_total_goals[1]) - 1, 2)
  190. total_goal["total_goal_four"] = round(float(new_total_goals[2]) - 1, 2)
  191. total_goal["total_goal_seven"] = round(float(new_total_goals[3]) - 1, 2)
  192. except:
  193. total_goal["total_goal_zero"] = ""
  194. total_goal["total_goal_two"] = ""
  195. total_goal["total_goal_four"] = ""
  196. total_goal["total_goal_seven"] = ""
  197. # 总进球上半场 half_total_goal-------------------------------------------------------------------------------------------
  198. try:
  199. half_total_goals = data['o']['tg1st']['v']
  200. new_half_total_goals = [half_total_goals[i] for i in range(len(half_total_goals)) if i % 2 is 1]
  201. total_goal["half_total_goal_zero"] = round(float(new_half_total_goals[0]) - 1, 2)
  202. total_goal["half_total_goal_one"] = round(float(new_half_total_goals[1]) - 1, 2)
  203. total_goal["half_total_goal_two"] = round(float(new_half_total_goals[2]) - 1, 2)
  204. total_goal["half_total_goal_three"] = round(float(new_half_total_goals[3]) - 1, 2)
  205. except:
  206. total_goal["half_total_goal_zero"] = ""
  207. total_goal["half_total_goal_one"] = ""
  208. total_goal["half_total_goal_two"] = ""
  209. total_goal["half_total_goal_three"] = ""
  210. # 早盘 半场/全场---------------------------------------------------------------------------------------------------------
  211. half_full = {}
  212. new_lists = ["half_full_home_home", "half_full_home_dogfall", "half_full_home_guest",
  213. "half_full_dogfall_home", "half_full_dogfall_dogfall", "half_full_dogfall_guest",
  214. "half_full_guest_home", "half_full_guest_dogfall", "half_full_guest_guest"]
  215. # 早盘 半场/全场
  216. try:
  217. half_fulls = data['o']['hf']['v']
  218. new_half_fulls = [half_fulls[i] for i in range(len(half_fulls)) if i % 2 is 1]
  219. for index, value in enumerate(new_lists):
  220. half_full[value] = round(float(new_half_fulls[index]) - 1, 2)
  221. except:
  222. for index, value in enumerate(new_lists):
  223. half_full[value] = ""
  224. # 早盘 最先/最后进球 最先进球 ---------------------------------------------------------------------------------------------
  225. first_last_ball = {}
  226. try:
  227. first_balls = data['o']['ttslast']['v']
  228. first_ball = [first_balls[i] for i in range(len(first_balls)) if i % 2 is 1]
  229. first_last_ball['first_ball_home'] = round(float(first_ball[0]) - 1, 2)
  230. first_last_ball['first_ball_guest'] = round(float(first_ball[1]) - 1, 2)
  231. except:
  232. pass
  233. # 早盘 最先/最后进球 最后进球
  234. try:
  235. last_balls = data['o']['tts1st']['v']
  236. last_ball = [last_balls[i] for i in range(len(last_balls)) if i % 2 is 1]
  237. first_last_ball['last_ball_home'] = round(float(last_ball[0]) - 1, 2)
  238. first_last_ball['last_ball_guest'] = round(float(last_ball[1]) - 1, 2)
  239. first_last_ball['not_ball'] = round(float(last_ball[2]) - 1, 2)
  240. except:
  241. pass
  242. # 全场独赢capot ---------------------------------------------------------------------------------------------------------
  243. try:
  244. capots = data['o']['1x2']['v']
  245. new_capots = [capots[i] for i in range(len(capots)) if i % 2 is 1]
  246. capot_home = round(float(new_capots[0]) - 1, 2)
  247. capot_guest = round(float(new_capots[1]) - 1, 2)
  248. capot_dogfall = round(float(new_capots[2]) - 1, 2)
  249. except:
  250. capot_home = ""
  251. capot_guest = ""
  252. capot_dogfall = ""
  253. # 上半场独赢capot
  254. try:
  255. half_capots = data['o']['1x21st']['v']
  256. new_half_capots = [half_capots[i] for i in range(len(half_capots)) if i % 2 is 1]
  257. half_capot_home = round(float(new_half_capots[0]) - 1, 2)
  258. half_capot_guest = round(float(new_half_capots[1]) - 1, 2)
  259. half_capot_dogfall = round(float(new_half_capots[2]) - 1, 2)
  260. except:
  261. half_capot_home = ""
  262. half_capot_guest = ""
  263. half_capot_dogfall = ""
  264. # 全场入球:单/双 odd_even------------------------------------------------------------------------------------------------
  265. try:
  266. odd_evens = data['o']['oe']['v']
  267. new_odd_evens = [odd_evens[i] for i in range(len(odd_evens)) if i % 2 is 1]
  268. odd_even_odd = new_odd_evens[0]
  269. odd_even_even = new_odd_evens[1]
  270. except:
  271. odd_even_odd = ""
  272. odd_even_even = ""
  273. # 半场入球:单/双 half_odd_even
  274. try:
  275. half_odd_evens = data['o']['oe1st']['v']
  276. new_half_odd_evens = [half_odd_evens[i] for i in range(len(half_odd_evens)) if i % 2 is 1]
  277. half_odd_even_odd = new_half_odd_evens[0]
  278. half_odd_even_even = new_half_odd_evens[1]
  279. except:
  280. half_odd_even_odd = ""
  281. half_odd_even_even = ""
  282. bodan_data = {}
  283. # 波胆------------------------------------------------------------------------------------------------------------------
  284. try:
  285. bodans = data['o']['cs']['v']
  286. one_list = ["bodanhome_one_zero", "bodanhome_two_zero", "bodanhome_two_one",
  287. "bodanhome_three_zero", "bodanhome_three_one", "bodanhome_three_two",
  288. "bodanhome_four_zero", "bodanhome_four_one", "bodanhome_four_two",
  289. "bodanhome_four_three"]
  290. two_list = ["bodanguest_one_zero", "bodanguest_two_zero", "bodanguest_two_one",
  291. "bodanguest_three_zero", "bodanguest_three_one", "bodanguest_three_two",
  292. "bodanguest_four_zero", "bodanguest_four_one", "bodanguest_four_two",
  293. "bodanguest_four_three"]
  294. three_list = ["bodandogfall_zero_zero", "bodandogfall_one_one", "bodandogfall_two_two",
  295. "bodandogfall_three_three", "bodandogfall_four_four"]
  296. new_bodans = [bodans[i] for i in range(len(bodans)) if i % 2 is 1]
  297. new_bodan = new_bodans[0:20]
  298. # 主队bodan_home
  299. bodan_home = [new_bodan[i] for i in range(len(new_bodan)) if i % 2 is 0]
  300. for index, t in enumerate(one_list):
  301. bodan_data[t] = round(float(bodan_home[index]) - 1, 2)
  302. # 客队bodan_guest
  303. bodan_guest = [new_bodan[i] for i in range(len(new_bodan)) if i % 2 is 1]
  304. for y, z in enumerate(two_list):
  305. bodan_data[z] = round(float(bodan_guest[y]) - 1, 2)
  306. bodan_dogfall = new_bodans[-7:-2]
  307. for a, b in enumerate(three_list):
  308. bodan_data[b] = round(float(bodan_dogfall[a]) - 1, 2)
  309. # 其他bodan_other
  310. bodan_data['bodanother'] = round(float(new_bodans[-1]) - 1, 2)
  311. except:
  312. pass
  313. try:
  314. half_bodans = data['o']['cs1st']['v']
  315. new_half_bodans = [half_bodans[i] for i in range(len(half_bodans)) if i % 2 is 1]
  316. new_one = ["halfbodanhome_one_zero", "halfbodanhome_two_zero", "halfbodanhome_two_one",
  317. "halfbodanhome_three_zero", "halfbodanhome_three_one", "halfbodanhome_three_two"]
  318. new_two = ["halfbodanguest_one_zero", "halfbodanguest_two_zero", "halfbodanguest_two_one",
  319. "halfbodanguest_three_zero", "halfbodanguest_three_one", "halfbodanguest_three_two"]
  320. new_three = ["halfbodandogfall_zero_zero", "halfbodandogfall_one_one",
  321. "halfbodandogfall_two_two",
  322. "halfbodandogfall_three_three"]
  323. halfbodan = new_half_bodans[0:12]
  324. half_bodan_home = [halfbodan[i] for i in range(len(halfbodan)) if i % 2 is 0]
  325. # 队1
  326. for index, t in enumerate(new_one):
  327. bodan_data[t] = round(float(half_bodan_home[index]) - 1, 2)
  328. # 队2
  329. half_bodan_guest = [halfbodan[i] for i in range(len(halfbodan)) if i % 2 is 1]
  330. for y, z in enumerate(new_two):
  331. bodan_data[z] = round(float(half_bodan_guest[y]) - 1, 2)
  332. # 和/平
  333. half_bodan_dogfall = new_half_bodans[-6:-2]
  334. for a, b in enumerate(new_three):
  335. bodan_data[b] = round(float(half_bodan_dogfall[a]) - 1, 2)
  336. # 其他
  337. bodan_data['halfbodanother'] = round(float(new_half_bodans[-1]) - 1, 2)
  338. except:
  339. pass
  340. if new_data == 12:
  341. try:
  342. home_data = data['o']['ou']['v']
  343. # 球队进球 大条件
  344. home_size_big_rule = home_data[1]
  345. full_dict_rule['home_tema_ball_big'] = home_size_big_rule
  346. # 球队进球大赔率
  347. home_size_big = home_data[5]
  348. full_dict['home_tema_ball_big'] = home_size_big
  349. # 球队进球小条件
  350. home_size_small_rule = home_data[3]
  351. full_dict_rule['home_tema_ball_small'] = home_size_small_rule
  352. # 球队进球小赔率
  353. home_size_small = home_data[7]
  354. full_dict['home_tema_ball_small'] = home_size_small
  355. except:
  356. full_dict['home_tema_ball_small'] = ""
  357. full_dict_rule['home_tema_ball_small'] = ""
  358. full_dict['home_tema_ball_big'] = ""
  359. full_dict_rule['home_tema_ball_big'] = ""
  360. try:
  361. half_home_data = data['o']['ou1st']['v']
  362. half_home_size_big_rule = half_home_data[1]
  363. half_dict_rule['half_home_tema_ball_big'] = half_home_size_big_rule
  364. half_home_size_big = half_home_data[5]
  365. half_dict['half_home_tema_ball_big'] = half_home_size_big
  366. half_home_size_small_rule = half_home_data[3]
  367. half_dict_rule['half_home_tema_ball_small'] = half_home_size_small_rule
  368. half_home_size_small = half_home_data[7]
  369. half_dict['half_home_tema_ball_small'] = half_home_size_small
  370. except:
  371. half_dict_rule['half_home_tema_ball_big'] = ""
  372. half_dict['half_home_tema_ball_big'] = ""
  373. half_dict_rule['half_home_tema_ball_small'] = ""
  374. half_dict['half_home_tema_ball_small'] = ""
  375. if new_data == 13:
  376. try:
  377. guest_data = data['o']['ou']['v']
  378. guest_size_big_rule = guest_data[1]
  379. full_dict_rule['guest_tema_ball_big'] = guest_size_big_rule
  380. guest_size_big = guest_data[5]
  381. full_dict['guest_tema_ball_big'] = guest_size_big
  382. guest_size_small_rule = guest_data[3]
  383. full_dict_rule['guest_tema_ball_small'] = guest_size_small_rule
  384. guest_size_small = guest_data[7]
  385. full_dict['guest_tema_ball_small'] = guest_size_small
  386. except:
  387. full_dict_rule['guest_tema_ball_big'] = ""
  388. full_dict['guest_tema_ball_big'] = ""
  389. full_dict_rule['guest_tema_ball_small'] = ""
  390. full_dict['guest_tema_ball_small'] = ''
  391. try:
  392. half_guest_data = data['o']['ou1st']['v']
  393. half_guest_size_big_rule = half_guest_data[1]
  394. half_dict_rule['half_guest_tema_ball_big'] = half_guest_size_big_rule
  395. half_guest_size_big = half_guest_data[5]
  396. half_dict['half_guest_tema_ball_big'] = half_guest_size_big
  397. half_guest_size_small_rule = half_guest_data[3]
  398. half_dict_rule['half_guest_tema_ball_small'] = half_guest_size_small_rule
  399. half_guest_size_small = half_guest_data[7]
  400. half_dict['half_guest_tema_ball_small'] = half_guest_size_small
  401. except:
  402. half_dict_rule['half_guest_tema_ball_big'] = ""
  403. half_dict['half_guest_tema_ball_big'] = ""
  404. half_dict_rule['half_guest_tema_ball_small'] = ""
  405. half_dict['half_guest_tema_ball_small'] = ""
  406. item['league_id'] = league_id
  407. item['league_name'] = league_name
  408. item['pt'] = pt
  409. item['game_id'] = game_id
  410. item['team_home'] = team_home
  411. item['team_guest'] = team_guest
  412. item['number'] = number
  413. item['data_game'] = data_game
  414. item['time_game'] = time_game
  415. item['corner_ball'] = corner_ball
  416. # 波胆
  417. item['bodan_data'] = bodan_data
  418. # 早盘入球数单双
  419. item["odd_even_odd"] = odd_even_odd
  420. item["odd_even_even"] = odd_even_even
  421. item["half_odd_even_odd"] = half_odd_even_odd
  422. item["half_odd_even_even"] = half_odd_even_even
  423. item['total_goal'] = total_goal
  424. item["half_capot_home"] = half_capot_home
  425. item["half_capot_guest"] = half_capot_guest
  426. item["half_capot_dogfall"] = half_capot_dogfall
  427. item["capot_home"] = capot_home
  428. item["capot_guest"] = capot_guest
  429. item["capot_dogfall"] = capot_dogfall
  430. item["first_last_ball"] = first_last_ball
  431. item["half_full"] = half_full
  432. item["half_size_guest"] = half_size_guest
  433. item["half_size_guest_rule"] = half_size_guest_rule
  434. item["half_size_home"] = half_size_home
  435. item["half_size_home_rule"] = half_size_home_rule
  436. # 全场大小
  437. item["size_guest"] = size_guest
  438. item["size_guest_rule"] = size_guest_rule
  439. item["size_home"] = size_home
  440. item["size_home_rule"] = size_home_rule
  441. # 上半场让球
  442. item["half_concede_home_rule"] = half_concede_home_rule
  443. item["half_concede_home"] = half_concede_home
  444. item["half_concede_guest_rule"] = half_concede_guest_rule
  445. item["half_concede_guest"] = half_concede_guest
  446. # 全场让球
  447. item["concede_guest"] = concede_guest
  448. item["concede_guest_rule"] = concede_guest_rule
  449. item["concede_home"] = concede_home
  450. item["concede_home_rule"] = concede_home_rule
  451. item['score_home'] = score_home
  452. item['score_guest'] = score_guest
  453. item['full_data'] = full_dict
  454. item['half_data'] = half_dict
  455. item['full_data_rule'] = full_dict_rule
  456. item['half_data_rule'] = half_dict_rule
  457. item['half_way'] = half_way
  458. yield item