Парсинг данных с использованием Python, часть 2
Сохранение спарсенных данных в CSV файл
Теперь, когда мы собрали все данные, которые можем спарсить, мы можем сохранить их в CSV файл, который затем можно открыть в Excel.
Давайте сделаем это.
Используем библиотеку pandas.
Как мы можем преобразовать список данных в формат CSV файла? Мы можем использовать библиотеку pandas. Сначала установим библиотеку pandas, написав "pip install pandas" в терминале.
from bs4 import BeautifulSoup
import requests
import pandas as pd
listProducts = []
for i in range(1,51):
print(f'Парсинг страницы {i}')
html = requests.get(f'https://books.toscrape.com/catalogue/page-{i}.html')
soup = BeautifulSoup(html.content,'html.parser')
products = soup.find('ol',class_='row').findAll('li')
for product in products:
info = product.article
imgLink = info.find(class_='image_container').a.img['src']
rating = info.p['class'][1]
title = info.h3.a['title']
priceReal = info.find(class_='product_price').find(class_='price_color').getText()
priceResult = priceReal[slice(1,len(priceReal))]
listProducts.append({
"title" : title,
"imgLink" : f'https://books.toscrape.com{imgLink[slice(2,len(imgLink))]}',
"rating" : rating,
"price" : priceResult
})
Теперь нам нужно преобразовать данные в CSV файл.
df = pd.DataFrame(listProducts)
df.to_csv('data_books.csv',encoding='utf-8')
Мы вызываем метод DataFrame в классе pandas и передаем аргументы с данными списка. Обратите внимание, что столбцы будут созданы автоматически в соответствии с именем свойства в словарях.
В конце мы вызываем метод to_csv переменной df, которая имеет два аргумента. Первый аргумент - это имя файла в формате CSV, а второй аргумент - это кодировка, которая равна UTF-8, чтобы файл можно было прочитать и записать.
Если мы запустим код, то будет создан CSV файл.
Содержимое CSV файла будет выглядеть следующим образом:
Вот как мы преобразовываем данные в файл с форматом CSV.
Продолжение следует в части 3.