Приветствую всех.
У меня проблема с выгрузкой из объекта BeautifulSoup в словарь.
В выгрузке есть даты и при сохранении в словарь выбивает ошибка:
ress[noumber][text]['text'] = str(field)
TypeError: 'datetime.date' object is not subscriptable
Как бы загрузить данные, чтобы дата стали в обычном формате? У меня подозрение, что нужен цикл, который
бы перебирал каждый объект в BeautifulSoup и, если это дата, то переводил в string? Но как это реализовать знаний не хватает
и в интернете что-то найти не могу
У меня проблема с выгрузкой из объекта BeautifulSoup в словарь.
В выгрузке есть даты и при сохранении в словарь выбивает ошибка:
ress[noumber][text]['text'] = str(field)
TypeError: 'datetime.date' object is not subscriptable
Как бы загрузить данные, чтобы дата стали в обычном формате? У меня подозрение, что нужен цикл, который
бы перебирал каждый объект в BeautifulSoup и, если это дата, то переводил в string? Но как это реализовать знаний не хватает
и в интернете что-то найти не могу
Код:
import pyodbc, json, requests, time,bs4,datetime
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
# подключаюсь к базе данных на работе и получаю ФИО, даты рождения сотрудников
mySQLServer = "..."
myDataBase = "..."
connection = ...
cursor = connection.cursor()
mySQLQuery = ('''
SELECT name1, name2, name3, name, birthday
FROM ... s. ''')
cursor.execute(mySQLQuery)
results = cursor.fetchall()
ress = {}
noumber = ''
text = ''
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument("--disable-gpu")
driver = webdriver.Chrome(options=chrome_options)
driver.get('https://asvpweb.minjust.gov.ua/#/search-debtors')
for i in results:
for l in range(0,len(i)):
time.sleep(5)
# загружаю Фамилию
driver.find_element_by_id("inputPersonSurname").send_keys(i[l])
l = l + 1
# загружаю Имя
driver.find_element_by_id("inputPersonName").send_keys(i[l])
l = l + 1
# загружаю Отчество
driver.find_element_by_id("inputPersonPatro").send_keys(i[l])
l = l + 2
# загружаю дату рождения
driver.find_element_by_id("inputPersonBirthDate").send_keys(str(i[l]))
time.sleep(5)
# нажимаю кнопку Поиск
button = driver.find_element_by_xpath("//button[@tabindex='23']")
button.click()
time.sleep(5)
# сохраняю данные через BeautifulSoup
tableProducts = driver.find_element_by_xpath('/html/body/div[1]/ui-view/div[2]/div[3]/div/table[1]');
field = bs4.BeautifulSoup(tableProducts.text, 'html.parser')
ress.setdefault(noumber, {})
ress[noumber].setdefault(text, {'text': ''})
ress[noumber] = i[4]
ress[noumber][text]['text'] = str(field)