guanjun.py 2.7 KB

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