Nano Hash - криптовалюты, майнинг, программирование

Веб-скрапер записывает все в одну строку в файле .csv

Я изучаю, как сделать веб-скрейпер на Python, у меня все работает, но когда он создает файл, все находится в одной строке, а не в каждом столбце по заголовкам. Что может быть не так с моим кодом, пожалуйста? Не могу понять. Большое спасибо за ответы.

import requests
from bs4 import BeautifulSoup

baseurl = 'https://www.mall.sk/'

headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36'}

r = requests.get('https://www.mall.sk/iphone-11')

soup = BeautifulSoup(r.content, 'lxml')

containers = soup.find_all('article')

filename = "iphones.csv"
f = open(filename, "w")

headers = "model ,size, color, first_price, latest_price\n"
f.write(headers)

for container in containers:
    specs_find = container.div.div.div.h3.a.text
    specs_split = specs_find.split(",")
    new_price_find = container.find_all('span', class_='lst-product-item-price-value')
    old_price_find = container.find_all('del', class_='lst-product-item-price--retail')

    old_price = old_price_find[0].text.strip()
    price = new_price_find[0].text.strip()
    model = specs_split[0].strip()
    size = specs_split[1].strip()
    color = specs_split[2].strip()
    print(model + ' ' + size + ' ' + color + ' ' + old_price + ' ' + price)
    f.write(model + "," + size + "," + color + "," + old_price + "," + price + "\n")

f.close()



  • Почему бы просто не использовать встроенную библиотеку csv...? 17.11.2020

Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..