Python. Парсинг. Не записывает корректно в файл csv

Подскажите пожалуйста. Не могу записать в файл csv так, как выводит в консоль.

Записывает вертикально и дублирует одно и тоже 32 раза (количество позиций на странице

   import requests
from bs4 import BeautifulSoup
import csv
import pandas as pd
import numpy as np
from csv import writer
from lxml import html

headers = {
    'accept': 'image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8',
    'user-agent': 'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36 OPR/94.0.0.0 (Edition Yx 02)'

}


#url = 'https://www.divan.ru/category/krovati-i-matrasy'  # делаем запрос на страницу
url = 'https://www.divan.ru/category/krovati'
response = requests.get(url)  # обработка запроса метотдом get
soup = BeautifulSoup(response.text, 'lxml')  # создаем суп
items = soup.find_all('div', {'class': 'i4dRQ'})
item = soup.find_all('div', {'class' : 'LlPhw'})
item1 = soup.find_all('div', {'class' : 'Ap0ij'})
pric = soup.find_all('div', {'class' : 'jRCmL'})
name = soup.find_all('div', {'class': '_w7Rk EdLyJ'})
#name2 = soup.div.img['alt']
#   print(i.text)


for i in item:

    nami = i.find('a', {'class': 'ImmXq dpmhZ b8BqN ProductName'}).text.strip()
    itempric = i.find('div', {'class' : 'J81A2'}).text.strip()
    itempric1 = i.find('span', {'class' : 'Zq2dF F9ye5 RqhWy AawBX'}).text
    print(f'{nami} {itempric1}')



pagination = soup.find('div', class_='dqBvL').find_all('a')
pages = pagination[-2].text
print('Всего страниц: ' + pages)

data = []
for page in range(1, int(pages)+1):
    response = requests.get(url, headers=headers, params={'PAGEN_1': page})
    html = response.text
    soup = BeautifulSoup(html, 'html.parser')
    blocks = soup.find('div', class_= 'Lei8X').find_all('div', class_='LlPhw')

#    print(f'Парсинг страницы {page} из {pages}...')
#   print(len(blocks) * page)
for block in blocks:
    data.append([block.find('a', class_='ImmXq dpmhZ b8BqN ProductName').get_text(strip=True) + block.find('span', class_='Zq2dF F9ye5 RqhWy AawBX').get_text(strip=True)])


with open('n.csv', 'a', newline='') as csvfile:



 for d in data:
    print(d)
    print('Всего позиций: ' + str(len(data)))
    file_writer = csv.writer(csvfile, delimiter=";", lineterminator="\r")
    file_writer.writerow(i)

Запись в файл


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