Поэтому я хочу извлечь здесь номер 45.5: https://www.myscore.com.ua/match/I9pSZU2I/#odds-comparison;over-under;1st-qrt
Но когда я пытаюсь найти стол, я ничего не получаю. Вот мой код:
import requests
from bs4 import BeautifulSoup
url = 'https://www.myscore.com.ua/match/I9pSZU2I/#odds-comparison;over-under;1st-qrt'
headers = {'User-Agent': 'Mozilla/5.0 (X11; Linux armv7l) AppleWebKit/537.36 (KHTML, like Gecko) Raspbian Chromium/65.0.3325.181 Chrome/65.0.3325.181 Safari/537.36'}
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.content, 'html.parser')
text = soup.find_all('table', class_ = 'odds sortable')
print(text)
Может ли кто-нибудь помочь мне извлечь номер и сохранить его значение в переменной?
Вы можете попробовать сделать это без Selenium, воссоздав динамический запрос, загружающий таблицу.
Оглядываясь на вкладке сети на странице, я увидел этот XMLHTTPRequest: https://d.myscore.com.ua/x/feed/d_od_I9pSZU2I_ru_1_eu
Попробуйте воспроизвести те же параметры, что и запрос.
Чтобы перейти на вкладку сети: Нажмите right-> проверьте element-> Сеть tab-> Выберите XHR и найдите второй запрос.
Окончательный код будет выглядеть так:
headers = {'x-fsign' : 'SW9D1eZo'}
page =
requests.get('https://d.myscore.com.ua/x/feed/d_od_I9pSZU2I_ru_1_eu',
headers=headers)
Вы должны проверить, отличается ли значение x = fisgn на основе вашего браузера /ip.
webdriver
изselenium
. И подождите, пока страница не отобразится полностью.