Я новичок в Python и в Интернете.Прошу прощения за мое невежество.В этой программе я просканировал несколько URL-адресов и сохранил название продукта и цену в CSV-файле.Когда я снова запускаю сценарий, я хочу прочитать существующие записи в формате csv (название продукта и цена), и если есть изменение цены для любого продукта / продуктов, я хочу напечатать сообщение.Я борюсь с реализацией 2-й части программы, которая сравнивает значения с сохраненными CSV-записями.Пожалуйста помоги.Любая помощь будет высоко оценен.
import scrapy
from time import sleep
import csv, os, json
import random
import os
class spider1(scrapy.Spider):
name = "spider1"
with open("data.csv", "a") as filee:
if os.stat("data.csv").st_size != 0:
filee.truncate(0)
filee.close()
def start_requests(self):
list = ["https://www.example.com/item1",
"https://www.example.com/item2",
"https://www.example.com/item3",
"https://www.example.com/item4",
"https://www.example.com/item5"
]
for i in list:
yield scrapy.Request(i, callback=self.parse)
sleep(random.randint(0, 5))
def parse(self, response):
product_name = response.css('#pd-h1-cartridge::text')[0].extract()
product_price = response.css(
'.product-price .is-current, .product-price_total .is-current, .product-price_total ins, .product-price ins').css(
'::text')[3].extract()
with open('data.csv', 'a+') as file:
itemwriter = csv.writer(file, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL)
itemwriter.writerow([str(product_name).strip(), str(product_price).strip()])
file.close()
Выход CSV
Purple Wine Glass Cooler,1.47
Color Your Own VBS Island Wind Chimes,6.47
Color Your Own Fuzzy Patriotic Wreaths,7.79
Color Your Own Patriotic Keychains,6.19
Patriotic Cool Treats Craft Stick Magnet Craft Kit,6.19