Size: a a a

2021 February 07

🎱

🎱 in Scrapy
или сперва в инпуте нужно тейкферст, а в аутпуте Сompose?
источник

МС

Михаил Синегубов... in Scrapy
как я понял,
Compose - каждая функция применяется на все элементы списка (т.е. на вхоже функции будет список)
MapCompose - каждая функция применяется  к каждому элементу списка.

это сугубо мое ИМХО, не факт что верно

насчет инпута/оутпута, мне в свое время так сказали "в инпутах - обработка, в оутпуте - фильтрация данных", но это типа "правильно" так делать. Но, если сделаешь "ректально", убивать тебя, скорее всего, не будут
источник

i

i in Scrapy
🎱
https://www.tuchuzy.com/collections/araminta-james/products/boyfriend-tie-dye-set
стоит задача вытащить урлы картинок, с самыми большими размерами.  Как это определить?
У меня два варианта:
1. по каким то метаданным типа, width, height. Только хз как это посмотреть.
2. Сделать запрос и посмотреть на размер картинки. Имхо неэффективный подход.
Если не зашито в данных css или не прописано в тексте рядом (и при этом чтобы совпадало, а не просто было отображение для вписывания в рамки), то проще может быть потрогать все картинки, всю картинку выкачивать, чтобы ее метаданные посмотреть не нужно, емнип там достаточно 50 байт, сейчас может код найду даже
источник

i

i in Scrapy
def check_is_small_pic(url, pic_size):
   """
   usage: check_is_small(url, 500)
   """
   r_check = requests.get(url, headers={"Range": "50"})
   image_info = getimageinfo.getImageInfo(r_check.content)
   if image_info[1] < pic_size or image_info[2] < pic_size:
       return True
   return False
источник

i

i in Scrapy
и еще использует эту штуку
источник

🎱

🎱 in Scrapy
i
def check_is_small_pic(url, pic_size):
   """
   usage: check_is_small(url, 500)
   """
   r_check = requests.get(url, headers={"Range": "50"})
   image_info = getimageinfo.getImageInfo(r_check.content)
   if image_info[1] < pic_size or image_info[2] < pic_size:
       return True
   return False
хм, прикольно, спасибо, гляну по подробнее. Сохранил
источник

i

i in Scrapy
возможно, туда надо еще webp присобачить как-то
источник

🎱

🎱 in Scrapy
Михаил Синегубов
как я понял,
Compose - каждая функция применяется на все элементы списка (т.е. на вхоже функции будет список)
MapCompose - каждая функция применяется  к каждому элементу списка.

это сугубо мое ИМХО, не факт что верно

насчет инпута/оутпута, мне в свое время так сказали "в инпутах - обработка, в оутпуте - фильтрация данных", но это типа "правильно" так делать. Но, если сделаешь "ректально", убивать тебя, скорее всего, не будут
а для чего вообще эти айтем лоадеры  и процессоры ?
Они ж наоборот запутывают логику и все становится таким неочивидным..
источник

К

Кирилл in Scrapy
Типа разделение ответсвенности, все дела
источник

МС

Михаил Синегубов... in Scrapy
🎱
а для чего вообще эти айтем лоадеры  и процессоры ?
Они ж наоборот запутывают логику и все становится таким неочивидным..
это когда у тебя один паук в проекте.
когда у тебя 10 пауков для разных сайтов - они недурственно спасают
источник

🎱

🎱 in Scrapy
хм, типа не писать одно и тоже по неск раз?)
источник

МС

Михаил Синегубов... in Scrapy
🎱
хм, типа не писать одно и тоже по неск раз?)
типа того, это если на примитивном уровне описывать
источник

МС

Михаил Синегубов... in Scrapy
на мелких одноразовых проектах и айтемы нехрен не нужны.
а так, был у меня простенький проект, но штук 15 пауков в нем, для разных сайтов.
от и проще всего, базовый лоадер + несколько разновидностей под разные извращения, и, так то и все :)
источник

К

Кирилл in Scrapy
Используете ли вы itemloaders?
Анонимный опрос
28%
Да
72%
Нет
Проголосовало: 32
источник

МС

Михаил Синегубов... in Scrapy
Кирилл
Используете ли вы itemloaders?
Анонимный опрос
28%
Да
72%
Нет
Проголосовало: 32
третий пункт нужен "по необходимости" 😁
upd: ибо у меня "50/50" то использую, то нет
источник

i

i in Scrapy
а чо не анонимный, мне может стыдно что я их не использую!)
источник

К

Кирилл in Scrapy
Хм, голосовалку можно редактировать или только новую?
источник

МС

Михаил Синегубов... in Scrapy
i
а чо не анонимный, мне может стыдно что я их не использую!)
значит ответь что "да" 😂
источник

i

i in Scrapy
ладно, справился со стыдом)
источник

К

Кирилл in Scrapy
Михаил Синегубов
значит ответь что "да" 😂
Ээ, не влияй на выборы
источник