guanjun.py 3.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. # -*- coding: utf-8 -*-
  2. # import copy
  3. import datetime
  4. import json
  5. import scrapy
  6. from scrapy.http import Request
  7. from .. items import Guanjun
  8. # from scrapy_redis.spiders import RedisSpider
  9. class LqguanjunSpider(scrapy.Spider):
  10. name = 'guanjun'
  11. allowed_domains = ['hg3535z.com']
  12. to_day = datetime.datetime.now()
  13. # redis_key = "guanjun: start_urls"
  14. custom_settings = {
  15. "ITEM_PIPELINES": {
  16. 'hg3535.pipeline.guanjun.Guanjunpipeline': 300,
  17. },
  18. # 'LOG_LEVEL': 'DEBUG',
  19. # 'LOG_FILE': "./log/guanjun_{}_{}_{}.log".format(to_day.year, to_day.month, to_day.day)
  20. }
  21. def start_requests(self):
  22. for z in range(1, 5):
  23. for x in range(0, 4):
  24. # for y in range()
  25. url = 'https://odata.jiushan6688.com/odds6i/d/getodds/zh-cn/sid/{}/pt/1/ubt/or/pn/{}/sb/2/dc/null/pid/0'.format(z, x)
  26. # url = 'https://odata.jiushan6688.com/odds6i/d/getodds/zh-cn/sid/1/pt/1/ubt/or/pn/1/sb/2/dc/null/pid/0'
  27. # redis_key = "guanjun: start_urls"
  28. # https://odata.jiushan6688.com/odds6i/d/getodds/zh-cn/sid/1/pt/1/ubt/or/pn/0/sb/2/dc/null/pid/0
  29. yield Request(url=url, callback=self.parse, dont_filter=True)
  30. def parse(self, response):
  31. try:
  32. datas = json.loads(response.text)
  33. except:
  34. datas = ""
  35. try:
  36. results = datas['n-ot']['egs']
  37. except:
  38. results = ""
  39. try:
  40. ball = datas['n-ot']['s']['k']
  41. except:
  42. ball = ""
  43. if results:
  44. for result in results:
  45. # 联赛id
  46. league_id = result['c']['k']
  47. # 联赛名
  48. league_name = result['c']['n']
  49. new_results = result['es']
  50. for new_result in new_results:
  51. date_game = new_result['i'][4]
  52. time_game = new_result['i'][5]
  53. new_league_name = new_result['egn'].replace('\t', '')
  54. data = new_result['n-o']
  55. item = Guanjun()
  56. item['league_name'] = league_name
  57. item['new_league_name'] = new_league_name
  58. item['time_game'] = time_game
  59. item['data_game'] = date_game
  60. item['ball'] = ball
  61. item['champion_data'] = data
  62. item['league_id'] = league_id
  63. item['set_id'] = new_result['k']
  64. yield item
  65. # for i in new_result['n-o']:
  66. # new_champion = i['mn']
  67. # for y in i['o']:
  68. # item = Guanjun()
  69. # game_id = str(new_result['i'][16])
  70. # tema_home = y[0]
  71. # champion_team = float(y[2]) - 1
  72. #
  73. # item['tema_home'] = tema_home
  74. # item['league_id'] = league_id
  75. # item['game_id'] = game_id
  76. # item['data_game'] = data_game
  77. # item['time_game'] = time_game
  78. # item['new_league_name'] = new_league_name
  79. # item['champion_team'] = champion_team
  80. # item['new_champion'] = new_champion
  81. # # item['pt'] = pt
  82. # item['ball'] = ball
  83. # yield item