Я работаю над проектом очистки таблицы с веб-сайта. Я не смогу дать полный код, так как это сайт, указанный компанией c с логином, поэтому я выбрал Selenium. Я разместил таблицу в HTML коде:
class Table:
def __init__(self, driver):
self.driver = driver
def get_row_info(self):
table_id = self.driver.find_element(By.ID, 'dgTickets')
rows = table_id.find_elements(By.TAG_NAME, "tr")
col = []
i = 0
for i in rows[0]:
i+=1
name = i.text()
col.append((name, []))
for j in range(1,len(rows)):
T = rows[j]
i = 0
for t in T.iterchildren():
data = t.text_content()
if i>0:
try:
data = int(data)
except:
pass
col[i][1].append(data)
i+=1
Dict = {title:column for (title, column) in col}
Это возвращает мне ошибку, что это не повторяемое значение.
Я думаю, что я пытаюсь сделать здесь относительно самоочевиден. Прежде всего я пытаюсь вернуть веб-таблицу и в конечном итоге получить ее в pandas фрейме данных для анализа. Используя различные методы, я могу заставить столбцы распечатывать их тексты, но, похоже, существует проблема с передачей этого столбцу в указанной таблице. Вот один из способов вернуть столбец:
for row in rows:
col0 = row.find_elements(By.TAG_NAME, "td")[0]
Честно говоря, я немного растерялся на этом этапе. Любые предложения для меня?