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