Я пытаюсь собрать некоторые данные, просматривая локальный файл HTML с помощью BeautifulSoup4. Проблема в том, что информация, которую я пытаюсь получить, находится в разных строках с одинаковыми тегами классов. Я не уверен, как получить к ним доступ. Следующий снимок экрана html содержит две строки, к которым я обращаюсь с данными, которые мне нужны, выделенными (конфиденциальная информация зарисована).
Код, который у меня сейчас есть:
def find_data(fileName):
with open(fileName) as html_file:
soup = bs(html_file, "lxml")
hline1 = soup.find("td", class_="headerTableEntry")
hline2 = hline1.find_next_sibling("td")
hline3 = hline2.find_next_sibling("td")
hline4 = hline3.find_next_sibling("td", class_="headerTableEntry")
line1 = hline1.text
line2 = hline2.text
line3 = hline3.text
#Nothing yet for lines 4,5,6
Первые 3 строки отлично работают и дают 13, 39 и 33,3%, как должны. Но для строки 4 (которая должна быть вторым тегом и первым тегом с class = headerTableEntry) я получаю сообщение об ошибке «Объект NoneType не может быть вызван».
Мой вопрос: есть ли другой способ go, чтобы я мог получить доступ ко всем 6 ячейкам данных, или есть способ отредактировать, как я написал строку 4, чтобы работать? Спасибо за помощь, мы очень ценим это!