guanjun.py 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. # -*- coding: utf-8 -*-
  2. import copy
  3. import json
  4. import scrapy
  5. from scrapy.http import Request
  6. from .. items import Guanjun
  7. class LqguanjunSpider(scrapy.Spider):
  8. name = 'guanjun'
  9. allowed_domains = ['hg3535z.com']
  10. custom_settings = {
  11. "ITEM_PIPELINES": {
  12. 'hg3535.pipelines.Guanjunpipeline': 300,
  13. }
  14. }
  15. def start_requests(self):
  16. for z in range(1, 5):
  17. for y in range(1, 4):
  18. for x in range(0, 4):
  19. url = 'https://hg3535z.com/odds2/d/getodds?sid=' + str(z) + '&pt=' + str(y) + '&ubt=or&pn=' + str(
  20. x) + '&sb=2&dc=null&pid=0'
  21. yield Request(url=url, callback=self.parse, meta={'pt': y, 'sid': z, 'url': url})
  22. def parse(self, response):
  23. try:
  24. datas = json.loads(response.text)
  25. except:
  26. datas = ""
  27. try:
  28. results = datas['n-ot']['egs']
  29. except:
  30. results = ""
  31. try:
  32. pt = copy.copy(response.meta['pt'])
  33. except:
  34. pt = 0
  35. try:
  36. ball = datas['n-ot']['s']['n']
  37. except:
  38. ball = ""
  39. if results:
  40. for result in results:
  41. # 联赛id
  42. league_id = result['c']['k']
  43. # 联赛名
  44. league_name = result['c']['n']
  45. new_results = result['es']
  46. for new_result in new_results:
  47. data_game = new_result['i'][4]
  48. time_game = new_result['i'][5]
  49. new_league_name = new_result['egn'].replace('\t', '')
  50. for i in new_result['n-o']:
  51. new_champion = i['mn']
  52. for y in i['o']:
  53. item = Guanjun()
  54. game_id = str(new_result['i'][16])
  55. tema_home = y[0]
  56. champion_team = float(y[2]) - 1
  57. item['league_name'] = league_name
  58. item['tema_home'] = tema_home
  59. item['league_id'] = league_id
  60. item['game_id'] = game_id
  61. item['data_game'] = data_game
  62. item['time_game'] = time_game
  63. item['new_league_name'] = new_league_name
  64. item['champion_team'] = champion_team
  65. item['new_champion'] = new_champion
  66. item['pt'] = pt
  67. item['ball'] = ball
  68. yield item