Я хочу получить данные о теннисе с этой страницы: https://www.tennisabstract.com/cgi-bin/leaders.cgi для задания.
Мне нужно использовать библиотеки Python в Jupyter Notebook.
Когда я пытаюсь очистить эту страницу .cgi, я не могу получить какие-либо данные из таблицы. Есть ли способ очистить страницу .cgi?
Код, который я пытаюсь:
url = "https://www.tennisabstract.com/cgi-bin/leaders.cgi"
response = requests.get(url, headers = {"User-Agent": "XY"})
#response
page = response.content
scraping = BeautifulSoup(page, "lxml")
pd.set_option('display.max_rows', None)
table = BeautifulSoup(response.content, "lxml")
table = table.find_all("table")
df = pd.read_html(str(table))
df = df[1]
df
Результат, который я получаю (который меняется, когда я использую df[0], и не работает df[2], что работает для других таблиц на HTML-страницах сайта:






Данные загружаются и отображаются динамически с помощью JavaScript, поэтому вы не получите таблицу из статического ответа на этом ресурсе.
вы можете попытаться получить и обработать данные из https://www.minorleaguesplits.com/tennisabstract/cgi-bin/jsmatches/leadersource.js
вы можете попытаться имитировать браузер, например. selenium и используйте отрендеренную версию исходного кода
from selenium import webdriver
import pandas as pd
driver = webdriver.Chrome()
url = f'https://www.tennisabstract.com/cgi-bin/leaders.cgi'
driver.get(url)
pd.read_html(driver.page_source, attrs = {'id':'matches'})[0]