|
|
@@ -6,18 +6,19 @@ import lxml.etree
|
|
|
import re,os,json
|
|
|
from ..utils.helper import Helper
|
|
|
import time
|
|
|
-from ..items import Odds
|
|
|
+from ..items import LanqiuItem
|
|
|
+import xmltodict
|
|
|
|
|
|
class LqSportsSpider(scrapy.Spider):
|
|
|
name = 'lq_sports'
|
|
|
allowed_domains = ['m.hgg070.com/']
|
|
|
start_urls = ['http://m.hgg070.com//']
|
|
|
remath = re.compile("篮球")
|
|
|
- custom_settings={
|
|
|
- "ITEM_PIPELINES": {
|
|
|
- "hgg070_spider.pipelines.lq_sports.LqSportsPipeline": 200,
|
|
|
- },
|
|
|
- }
|
|
|
+ # custom_settings={
|
|
|
+ # "ITEM_PIPELINES": {
|
|
|
+ # "hgg070_spider.pipelines.lq_sports.LqSportsPipeline": 200,
|
|
|
+ # },
|
|
|
+ # }
|
|
|
def start_requests(self):
|
|
|
#今日,早盘
|
|
|
h_types=[('FT'),('FU')]
|
|
|
@@ -38,7 +39,7 @@ class LqSportsSpider(scrapy.Spider):
|
|
|
for item in h_types:
|
|
|
showtype = item
|
|
|
data={
|
|
|
- 'uid': 'ab179dc88196ff82fbb13c259575332f01fbad2c52b465f5def15a4876c10410',
|
|
|
+ 'uid': '1c721b7a80b72068ee7217348356d79160e0d97f2e34c98b3e12ea33355066b6',
|
|
|
'langx': 'zh-cn',
|
|
|
'ltype': '3',
|
|
|
'gtype': 'BK',
|
|
|
@@ -83,83 +84,73 @@ class LqSportsSpider(scrapy.Spider):
|
|
|
def getItem(self,response):
|
|
|
more_count = response.meta["more_count"]
|
|
|
isP = response.meta["isP"]
|
|
|
- game_lists = []
|
|
|
- data=response.xpath("//game")
|
|
|
- if data:
|
|
|
- uid_list = []
|
|
|
- for game in data:
|
|
|
- game_odds = {}
|
|
|
- gopen = game.xpath('//game/gopen/text()').extract_first()
|
|
|
- if gopen == 'Y':
|
|
|
- game = lxml.etree.fromstring(game.extract())
|
|
|
- for i in game.getchildren():
|
|
|
- if i.text == None:
|
|
|
- game_odds[i.tag] = ""
|
|
|
- else:
|
|
|
- game_odds[i.tag] = i.text.replace(' ', '')
|
|
|
- game_lists.append(game_odds)
|
|
|
- else:
|
|
|
- print('gopen == N, 详细赔率盘口未开启')
|
|
|
+ data= xmltodict.parse(response.text)['serverresponse']['game']
|
|
|
+ game_lists=[i for i in data if i['gopen']=='Y']
|
|
|
+
|
|
|
if game_lists:
|
|
|
for gl in game_lists:
|
|
|
cpath=os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
|
|
with open(cpath+"/conf/hgg070.json",encoding='utf8') as hg:
|
|
|
hgg=json.load(hg)['bk']
|
|
|
- odd_list = []
|
|
|
datetime = gl['datetime'][:-8] + " " + gl['datetime'][-8:]
|
|
|
team_h = gl['team_h']
|
|
|
team_c = gl['team_c']
|
|
|
league_id = gl['gidm']
|
|
|
match_id = gl.get('gid', '')
|
|
|
match_uid = Helper.genearte_uuid(team_h + team_c + datetime)
|
|
|
- for x in hgg:
|
|
|
- try:
|
|
|
- enabled = gl[x['prodds']]
|
|
|
- if enabled == 'Y':
|
|
|
- x['enabled'] = 1
|
|
|
- else:
|
|
|
- x['enabled'] = 0
|
|
|
- except:
|
|
|
- enabled = ''
|
|
|
- x['enabled'] = 0
|
|
|
- items = x['items']
|
|
|
- new_items = []
|
|
|
- for y in items:
|
|
|
- try:
|
|
|
- y['oddsv'] = gl[y['rodds']]
|
|
|
- except:
|
|
|
- y['oddsv'] = 0
|
|
|
- try:
|
|
|
- y['ratio'] = gl[y['ratio_name']]
|
|
|
- except:
|
|
|
- y['ratio'] = ""
|
|
|
- y['data'] = gl
|
|
|
- uid = str(x['plodds']) + str(y['lodds']) + str(y['rodds']) + str(y['ratio']) + str(
|
|
|
- y['ratio_name']) + str(y['oddsv']) + str(match_id) + str(league_id)
|
|
|
- sl = str(y['lodds']) + str(y['rodds']) + str(y['ratio']) + str(y['ratio_name']) + str(
|
|
|
- x['plodds']) + str(x['prodds'])
|
|
|
- odds_only = Helper.genearte_MD5(uid)
|
|
|
- sole = Helper.genearte_MD5(sl)
|
|
|
- y['uid'] = odds_only
|
|
|
- y['sole'] = sole
|
|
|
- if enabled == 'Y':
|
|
|
- uid_list.append(odds_only)
|
|
|
- new_items.append(y)
|
|
|
- n_i = copy.deepcopy(x)
|
|
|
- n_i['items'] = new_items
|
|
|
- odd_list.append(n_i)
|
|
|
- item = Odds()
|
|
|
+ data = []
|
|
|
+ for hg in hgg:
|
|
|
+ items=hg['items']
|
|
|
+ for x in items:
|
|
|
+ print('*****************', gl)
|
|
|
+ print('*****************',x)
|
|
|
+ odds_code = gl[x['rodds']]
|
|
|
+ p_code = gl[x['prodds']]
|
|
|
+ odds=gl["ior_OUH"]
|
|
|
+
|
|
|
+ #有两个条件,加两条数据
|
|
|
+ if x['ratio_name']: #大的
|
|
|
+ condition_u=gl[x['ratio_name']]
|
|
|
+ odds_only = gl[x["prodds"]] + gl[x["rodds"]] + '0' + condition_u + str(odds) + "hg3535" + str(match_id)
|
|
|
+ sole = gl[x["prodds"]] + gl[x["rodds"]] + '0' + str(match_id) + "hg3535"
|
|
|
+ tobj = {"match_id": match_id, "lg_id": league_id, "odds_code": odds_code, "status": 0,
|
|
|
+ "sort": 0, "p_code": p_code,
|
|
|
+ "odds": odds, "condition": condition_u, "odds_only": odds_only, "sole": sole,
|
|
|
+ "source": "hgg070", "type": 0, "team": ""}
|
|
|
+ data.append(tobj)
|
|
|
+
|
|
|
+ if x['latio']: #小的
|
|
|
+ condition_s = gl[x['latio']]
|
|
|
+ odds_only = gl[x["prodds"]] + gl[x["rodds"]] + '0' +condition_s + str(odds) + "hg3535" + str(match_id)
|
|
|
+ sole = gl[x["prodds"]] + gl[x["rodds"]] + '0' + str(match_id) + "hg3535"
|
|
|
+ tobj = {"match_id": match_id, "lg_id": league_id, "odds_code": odds_code, "status": 0,
|
|
|
+ "sort": 0, "p_code": p_code,
|
|
|
+ "odds": odds,"condition": condition_s, "odds_only": odds_only, "sole": sole,
|
|
|
+ "source": "hgg070", "type": 0, "team": ""}
|
|
|
+ data.append(tobj)
|
|
|
+
|
|
|
+ if not x['latio'] and not x['ratio_name']:
|
|
|
+ condition_s = ''
|
|
|
+ odds_only = gl[x["prodds"]] + gl[x["rodds"]] + '0' +condition_s + str(odds) + "hg3535" + str(match_id)
|
|
|
+ sole = gl[x["prodds"]] + gl[x["rodds"]] + '0' + str(match_id) + "hg3535"
|
|
|
+ tobj = {"match_id": match_id, "lg_id": league_id, "odds_code": odds_code, "status": 0,
|
|
|
+ "sort": 0, "p_code": p_code,
|
|
|
+ "odds": odds,"condition": condition_s, "odds_only": odds_only, "sole": sole,
|
|
|
+ "source": "hgg070", "type": 0, "team": ""}
|
|
|
+ data.append(tobj)
|
|
|
+
|
|
|
+ item = LanqiuItem()
|
|
|
item['match_id'] = match_id
|
|
|
- item['uuid'] = uid_list
|
|
|
item['source'] = "hg0088"
|
|
|
item['updata'] = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
|
|
|
- item['content'] = odd_list
|
|
|
- item['gidm'] = league_id
|
|
|
+ item['content'] = data
|
|
|
+ item['league_id'] = league_id
|
|
|
item['more_count'] = more_count
|
|
|
item['league'] = gl["league"]
|
|
|
item['match_identity'] = match_uid
|
|
|
item['datetime'] = datetime
|
|
|
item['team_h'] = team_h
|
|
|
item['team_c'] = team_c
|
|
|
- print('最后#######################################################',item)
|
|
|
+ item['isP'] = isP
|
|
|
+ print('2222222222222222222222222222222222222222222222222222222:',item)
|
|
|
yield item
|