fix:增加获取竞彩足球赔率数据模块
This commit is contained in:
parent
d67e21c033
commit
9a621c5781
|
|
@ -0,0 +1,65 @@
|
||||||
|
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()
|
||||||
|
|
||||||
Loading…
Reference in New Issue