Коэффициенты сбора данных от букмекерской компании - PullRequest
1 голос
/ 05 августа 2020

У меня такая же проблема, URL должен быть http://op1.win007.com/oddslist/1726223.htm

введите описание изображения здесь

from selenium import webdriver
from bs4 import BeautifulSoup

url = "http://op1.win007.com/oddslist/1726223.htm"
browser = webdriver.Chrome()
browser.get(url)
soup = BeautifulSoup(browser.page_source, 'html.parser')

containers = soup.findAll("table", {"class": "tcenter"})
print (containers)

После печати контейнеров , указаны все компании и коэффициенты.

Как можно показать коэффициенты Bet365 и вывести таблицу, чтобы преуспеть, как показано ниже (только bet365)

Bet365 3,00 3,40 2,50 32,44 28,63 38,93 97,33 0,96 1,00 0,96

Кто-нибудь может мне помочь решить эту проблему?

1 Ответ

0 голосов
/ 05 августа 2020

Данные, которые вы видите на странице, загружены из внешнего источника. Вот сценарий, который печатает строку Bet 365:

import re
import json
import requests


url = 'http://1x2d.win007.com/1726223.js'
js_text = requests.get(url).text

game = re.search(r'game=Array\((".*")\)', js_text).group(1)
data = json.loads('[' + game + ']')

for g in data:
    g = g.split('|')
    if 'Bet 365' in g:
        print(g)
        break

Выводит:

['281', '87788166', 'Bet 365', '2.75', '3.3', '2.5', '34.09', '28.41', '37.5', '93.75', '2.3', '3.4', '3.4', '42.5', '28.75', '28.75', '97.75', '0.92', '0.99', '1.05', '2019,08-1,02,18,45,00', 'bet 365(英国)', '1', '0']
...