Как отправить данные из одного конвейера в другой в ScrapyPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как отправить данные из одного конвейера в другой в Scrapy

Сообщение Anonymous »


Здравствуйте, у меня есть два конвейера, первый из которых предназначен для загрузки фотографий:

класс ModelsPipeline(ImagesPipeline): def get_media_requests(self, item, info): для image_url в элементе ['image_urls']: выход Scrapy.Request(image_url) def file_path(self, request, response=None, info=None, *, item=None): image_url_hash = hashlib.shake_256(request.url.encode()).hexdigest(5) image_filename = f'{item["name"]}/{image_url_hash}.jpg' вернуть имя_файла_изображения def item_completed(сам, результаты, предмет, информация): image_paths = [x['path'] для ок, x в результатах, если ок] для изображения в image_paths: file_extension = os.path.splitext(изображение)[1] img_path = f'{IMAGES_STORE}{изображение}' md5 = hashlib.md5(open(img_path, 'rb').read()).hexdigest() img_destination = f'{IMAGES_STORE}{item["name"]}/{md5}{file_extension}' os.rename(img_path, img_destination) вернуть изделие Второй вариант — сохранить предыдущую информацию в базе данных

класс DatabasePipeline(): def open_spider(сам, паук): self.client = db_connect() def close_spider(я, паук): сам.клиент.закрыть() defprocess_item(я, предмет, паук): self.client.upsert(пункт) Функция item_completed в первом конвейере возвращает имя и путь, которые я хочу отправить во второй конвейер для хранения в базе данных, но я не могу получить доступ к этим данным.

Вопрос в том, как я могу это сделать?

Спасибо
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Есть ли у кого-нибудь пример кода для конвейера sqlite в Scrapy?
    Anonymous » » в форуме Python
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Вопрос относительно новичка Scrapy и Scrapy Crowl
    Anonymous » » в форуме Python
    0 Ответы
    36 Просмотры
    Последнее сообщение Anonymous
  • Обработка ошибок Scrapy Spider (scrapy.core.scraper)
    Anonymous » » в форуме Python
    0 Ответы
    50 Просмотры
    Последнее сообщение Anonymous
  • Как отправить форму с сеансом в Scrapy
    Anonymous » » в форуме Python
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • Невозможно отправить целочисленное значение с одного экрана на другой
    Anonymous » » в форуме Android
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»