Сравните записи файла CSV с выходными данными Python Scrapy - PullRequest
1 голос
/ 29 мая 2019

Я новичок в 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 

1 Ответ

0 голосов
/ 29 мая 2019

Используйте Scrapy для создания только CSV-файлов.

Напишите отдельный скрипт для сравнения CSV-файлов.

...