Size: a a a

2019 November 19

МС

Михаил Синегубов in Scrapy
кэп, этот пайп позволяет качать картинки при парсинге. Но никак не решает проблему засунуть ссылки на картинки в start_urls
источник

МС

Михаил Синегубов in Scrapy
вопрос не "как скачать картинки", а "как скачать картики уже имея ссылки, без лишних запросов"
источник

КБ

Константин Белов in Scrapy
а что такое лишние запросы
источник

М

Мак in Scrapy
константин белова.... любопытное сочетание
источник

МС

Михаил Синегубов in Scrapy
Константин Белов
а что такое лишние запросы
запрос на получение картинки - 1 шт
запрос на получение статраницы - 1 шт, вот он как раз лишний.
источник

КБ

Константин Белов in Scrapy
import scrapy
from scrapy.pipelines.images import ImagesPipeline
from scrapy.exceptions import DropItem

class MyImagesPipeline(ImagesPipeline):

   def get_media_requests(self, item, info):
       for image_url in item['image_urls']:
           yield scrapy.Request(image_url)

   def item_completed(self, results, item, info):
       image_paths = [x['path'] for ok, x in results if ok]
       if not image_paths:
           raise DropItem("Item contains no images")
       item['image_paths'] = image_paths
       return item
источник

КБ

Константин Белов in Scrapy
это не то ?
источник

E

Evgen in Scrapy
Можно сделать запрос на одну любую страницу. А в ней вернуть айтемов  в котором в image_urls все ваши ссылки. Ну и прогнать через image pipeline
источник

EB

Elisei Badanin in Scrapy
@property
def start_urls(self):
   return []
источник

EB

Elisei Badanin in Scrapy
Оно?
источник

МС

Михаил Синегубов in Scrapy
найн, в ответ прилетит, что то вроде  "content-type: image/jpeg", а оно не надо, надо именн скачать через пайп
источник

МС

Михаил Синегубов in Scrapy
Evgen
Можно сделать запрос на одну любую страницу. А в ней вернуть айтемов  в котором в image_urls все ваши ссылки. Ну и прогнать через image pipeline
ну, пока к этому и склоняюсь, просто подумал что может есть что более "умное" :)
источник

МС

Михаил Синегубов in Scrapy
задача ипанутая на всю голову, но всеж :))
источник

EB

Elisei Badanin in Scrapy
А можно же в мидлваре передать?
источник

EB

Elisei Badanin in Scrapy
Не помню как точно, вечером посмотрю
источник

i

ildar in Scrapy
Там же вроде можно самому переопределить метод и вместо star_urls использовать стандартную функцию  start_requests
источник

i

ildar in Scrapy
Туда эти ссылки на картинки попихать.а еще смутно помню там прям спец штука, может ее уже линковали
источник

i

ildar in Scrapy
источник

EB

Elisei Badanin in Scrapy
Ну вот он и хочет ее без начальных запросов
источник

i

ildar in Scrapy
А если переопределить начальные эти стандартные функции, чтоб они ничего не делали? Помню я в аналогичном случае просто делал один раз в start urls сайт, давно еще, а потом уже пихал список линков. Один раз по итогу "левое" обращение к сайту шло вроде.
источник