Запись данных в .csv pandas

Всем привет, мне надо записать данные в csv файл, сейчас занимаюсь парсингом интернет магазина, там на каждом товаре разное количество характеристик например: вес, длина и т.д Пытаюсь записать данные с помощью pandas, но не могу правильно записать все данные в словарь, подскажите как правильно сделать

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from bs4 import BeautifulSoup
import requests
import time
from selenium.webdriver.support import expected_conditions
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
import pandas as pd

URLS = ['https://www.ikea.com/ru/ru/p/pahl-pol-pismennyy-stol-belyy-s29278422/','https://www.ikea.com/ru/ru/p/micke-mikke-pismennyy-stol-belyy-20373923/']
HEADERS = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.3'}
content = []
colum = []
driver = webdriver.Chrome(ChromeDriverManager().install())

def get_html(url, params=None):
    r = requests.get(url, headers=HEADERS, params=params)
    return r


def get_specifications_parameter():
    num = 0
    WebDriverWait(driver, 5).until(expected_conditions.visibility_of_element_located((By.XPATH, '//*[@id="content"]/div/div[1]/div/div[2]/div[2]/div[2]/div[2]/button')))

    driver.find_element_by_xpath('//*[@id="content"]/div/div[1]/div/div[2]/div[2]/div[2]/div[2]/button').click()
    time.sleep(3)
    table = driver.find_element_by_xpath('//*[@id="range-modal-mount-node"]/div/div[4]/div/div[2]/div/div/div').get_attribute('innerHTML')
    soup = BeautifulSoup(table,'html.parser')
    
    param = soup.find_all('dd',class_='range-revamp-product-dimensions__list-item-measure')
    titles = soup.find_all('dt',class_='range-revamp-product-dimensions__list-item-name')
    for item in titles:
        if item.text in colum:
            pass
        else:
            colum.append(item.text)
    for item in param:
        content.append({titles[num].text:item.text}) #Запись характеристик в content
        num+=1
    print(content)

    
def get_content(url):
    driver.get(url)
    get_specifications_parameter()

    # content.append[{
    #     'name':name,
    #     'price':price,
    #     'photo':photo,
    #     'description':description
    #     }]
    #  Дополнительные данные которые будут записыватся 
    print(content)

def start():
    for URL in URLS:
        html = get_html(URL)
        if html.status_code == 200:
            get_content(URL)
        else:
            print('Network error')

def write():
    df = pd.DataFrame(colum)
    for p in content:
        df = pd.concat([df, pd.DataFrame(p,index=[0])],ignore_index=True)
    df.to_csv("output.csv", index=False)


start()
write()

На выходе я получаю вот это, что совсем не правильно

[{'Ширина:\xa0': '128 см'}, {'Глубина:\xa0': '58 см'}, {'Мин высота:\xa0': '59 см'}, {'Макс высота:\xa0': '72 см'}, {'Макс нагрузка:\xa0': '50 кг'}] [{'Ширина:\xa0': '128 см'}, {'Глубина:\xa0': '58 см'}, {'Мин высота:\xa0': '59 см'}, {'Макс высота:\xa0': '72 см'}, {'Макс нагрузка:\xa0': '50 кг'}] [{'Ширина:\xa0': '128 см'}, {'Глубина:\xa0': '58 см'}, {'Мин высота:\xa0': '59 см'}, {'Макс высота:\xa0': '72 см'}, {'Макс нагрузка:\xa0': '50 кг'}, {'Ширина:\xa0': '73 см'}, {'Глубина:\xa0': '50 см'}, {'Высота:\xa0': '75 см'}, {'Макс нагрузка:\xa0': '50 кг'}] [{'Ширина:\xa0': '128 см'}, {'Глубина:\xa0': '58 см'}, {'Мин высота:\xa0': '59 см'}, {'Макс высота:\xa0': '72 см'}, {'Макс нагрузка:\xa0': '50 кг'}, {'Ширина:\xa0': '73 см'}, {'Глубина:\xa0': '50 см'}, {'Высота:\xa0': '75 см'}, {'Макс нагрузка:\xa0': '50 кг'}]

В идеале хочу получить такую структуру

products = [{'артикул': 12345, 'высота': 50, 'материал': 'дерево'}, {'артикул': 12346, 'ширина': 30, 'вес':1.5}, {'артикул': 12347, 'длина':14, 'высота': 6.2, 'материал': 'пластик'}]

А то с тем что я сейчас имею у меня получается вот такой файл введите сюда описание изображения


Ответы (0 шт):