Итак, мой маленький паук отлично работает.Я получаю все свои данные, как ожидалось.Я воспользовался настройкой файла items.py для захвата 7 нужных нам данных.И я могу записать эти данные в файлы. НО проблема, с которой я столкнулся сейчас, заключается в том, что мне нужно записать данные в 1 выходной файл в том порядке, в котором у нас есть настройка items.py.Не могу понять, как создать файл, если он не существует (sitename и date, чтобы сделать его уникальным именем файла)
это то, что у меня есть в настоящее время, но это создает 1 файл для каждой страницы / URL, которыйя хочу объединить все это в 1 файл для каждого сайта, который мы очищаем.
Мне не нравится способ форматирования данных itmDetails2, если только это не единственный способ, но я решил, что детс []мой список items.py, в котором я мог бы просто сохранить каждый набор в нем, а затем записать dets [] в CSV.
Может ли кто-нибудь указать на хороший пример выполнения того, что я пытаюсь сделать?Я нашел шпаргалку Python / Web Scraping и попробовал примеры для сохранения данных, но это не сработало
https://blog.hartleybrody.com/web-scraping-cheat-sheet/
itmDetails2 = dets['sku'] +","+ dets['description']+","+ dets['price']+","+ dets['brand']+","+ dets['compurl']+","+ dets['reviewcount']+","+ dets['reviewrating']
filename = 'dsg-%s.txt' % dets['description']
with open(filename, 'w') as f:
for its in itmDetails2:
f.write(str(its))
Это мой файл items.py, так как я собираю всю или большую часть этой даты в цикле утилизацииКак я могу записать каждый набор в CSV в виде строки с разделителями-запятыми?
import scrapy
class Dsg2Item(scrapy.Item):
description = scrapy.Field()
sku = scrapy.Field()
price = scrapy.Field()
brand = scrapy.Field()
compurl = scrapy.Field()
reviewcount = scrapy.Field()
reviewrating = scrapy.Field()