py_scripts/lottery/football/jczq.py

66 lines
2.9 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import sys
sys.path.append("/root/documents/py_scripts")
from typing import Optional
from furl import furl
from requests_html import HTML, HTMLSession
class Jczq(object):
'''
竞彩足球赔率获取
'''
_base_url = furl("https://trade.500.com/jczq/?g=2")
def __init__(self, date_str):
self.session = HTMLSession()
self._base_url.args["date"] = date_str
def get_spf_odds(self, d: Optional[str]=None):
self._base_url.args["playid"] = 312
if d is not None:
self._base_url.args["date"] = d
# print(self._base_url.url)
r = self.session.get(self._base_url)
bet_trs = r.html.find("tr.bet-tb-tr")
print(len(bet_trs))
bet_more_trs = r.html.find("tr.bet-more-wrap")
print(len(bet_more_trs))
for tr in zip(bet_trs, bet_more_trs):
# 对应竞彩网matchId
match_id = tr[0].attrs["data-id"]
match_num = tr[0].attrs["data-matchnum"]
league_name = tr[0].attrs["data-simpleleague"]
home_name = tr[0].attrs["data-homesxname"]
away_name = tr[0].attrs["data-awaysxname"]
match_date = tr[0].attrs["data-matchdate"] + tr[0].attrs["data-matchtime"]
buyendtime = tr[0].attrs["data-buyendtime"]
rangqiu = tr[0].attrs["data-rangqiu"]
# 胜平负
nspf = tr[0].find("td.td-betbtn div.itm-rangB1", first=True)
betbtn_ok = nspf.find("p[class$='betbtn-ok']", first=True)
if betbtn_ok is not None:
result = betbtn_ok.attrs["data-value"]
nspf_odds = {i.attrs["data-value"]: i.attrs["data-sp"] for i in nspf.find("p.betbtn")}
# 让球胜平负
spf = tr[0].find("td.td-betbtn div.itm-rangB2", first=True)
rq_result = spf.find("p[class$='betbtn-ok']", first=True).attrs["data-value"]
spf_odds = {i.attrs["data-value"]: i.attrs["data-sp"] for i in spf.find("p.betbtn")}
# 半全场
bqc = tr[1].find("p[data-type='bqc']")
bqc_odds = {i.attrs["data-value"]: i.attrs["data-sp"] for i in bqc}
bqc_result = tr[1].find("p[class$='sbetbtn-ok'][data-type='bqc']", first=True).attrs["data-value"]
# 比分
bf = tr[1].find("p[data-type='bf']")
bf_odds = {i.attrs["data-value"]: i.attrs["data-sp"] for i in bf}
bf_result = tr[1].find("p[class$='sbetbtn-ok'][data-type='bf']", first=True).attrs["data-value"]
# 进球数
jqs = tr[1].find("p[data-type='jqs']")
jqs_odds = {i.attrs["data-value"]: i.attrs["data-sp"] for i in jqs}
jqs_result = tr[1].find("p[class$='sbetbtn-ok'][data-type='jqs']", first=True).attrs["data-value"]
print(f"{home_name}-{away_name} 赔率:{nspf_odds} 结果:{result}, 比分:{bf_result},比分赔率:{bf_odds}")
jczq = Jczq("2023-04-15")
jczq.get_spf_odds()