From 9a621c57818f9fa88897b896d1002dbc857e2c40 Mon Sep 17 00:00:00 2001 From: chenwj113 Date: Sun, 14 May 2023 19:12:28 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E5=A2=9E=E5=8A=A0=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E7=AB=9E=E5=BD=A9=E8=B6=B3=E7=90=83=E8=B5=94=E7=8E=87=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lottery/football/jczq.py | 65 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 lottery/football/jczq.py diff --git a/lottery/football/jczq.py b/lottery/football/jczq.py new file mode 100644 index 0000000..88f38f0 --- /dev/null +++ b/lottery/football/jczq.py @@ -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() +