Я пытаюсь очистить данные с веб-страницы с помощью Beautifulsoup и (в конечном итоге) вывести их в CSV. В качестве первого шага я попытался получить текст соответствующей таблицы. Мне удалось это сделать, но код больше не выдает мне тот же вывод при повторном запуске: вместо того, чтобы возвращать все записи 12372 при запуске цикла for, он просто сохраняет последнюю.
Сокращенная версия моего кода:
from bs4 import BeautifulSoup
BirthsSoup = BeautifulSoup(browser.page_source, features="html.parser")
print(BirthsSoup.prettify())
# this confirms that the soup has captured the page as I want it to
birthsTable = BirthsSoup.select('#t2 td')
# selects all the elements in the table I want
birthsLen = len(birthsTable)
# birthsLen: 12372
for i in range(birthsLen):
print(birthsTable[i].prettify())
# this confirms that the beautifulsoup tag object correctly captured all of the table
for i in range(birthsLen):
birthsText = birthsTable[i].getText()
# this was supposed to compile the text for every element in the table
Но цикл for сохраняет текст только для последнего (т. Е. 12372-го) элемента в таблице. Нужно ли делать что-то еще для того, чтобы сохранить каждый элемент при прохождении цикла? Я думаю, что мой предыдущий (желательный) вывод имел текст каждого элемента в новой строке.
Я впервые использую python, поэтому извиняюсь за очевидную ошибку.