Я соскабливаю со следующей страницы: https://kenpom.com/index.php?y=2018
На странице показан список всех баскетбольных команд колледжа Дивизиона 1. Каждая строка предназначена для одной команды. Я хочу назначить каждую строку команды переменной под названием «команды». Проблема в том, что после каждых 40 команд есть две строки заголовка, которые я не хочу включать. Эти строки уникальны, так как имеют классы thead1 и thead2. Строки, которые я хочу захватить, имеют класс «Нет» или «полужирный нижний». По сути, мне нужно перебрать каждый элемент tr в этой таблице и взять любой, имеющий класс None или «полужирный нижний». Моя попытка ниже не работает. Он возвращает 35, тогда как должно быть 353.
import requests
from bs4 import BeautifulSoup
url ='https://kenpom.com/index.php?y=2018'
r = requests.get(url).text
soup = BeautifulSoup(r, 'lxml')
table = soup.find('table',{'id':'ratings-table'}).tbody
teams = table.findAll('tr',attrs = {'class':(None or 'bold-bottom')})
print(len(teams))
Я не верю, что это так. В основном мне нужно знать, как найти элементы tr в этой таблице, которые имеют класс None или «полужирный нижний». Линия 9 в моем примере кода.
Если это динамически обновляемый и созданный с помощью JavaScript сайт, вам нужно будет использовать селен.