66 lines
2.9 KiB
Python
66 lines
2.9 KiB
Python
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()
|
||
|