Size: a a a

2020 July 23

i

ildar in Scrapy
💀 Ңӥҟӥҭӓ Ҁӆӑҫҭӥӿӥӊ 🐲
о о о...
я тоже вопрос задам

есть сайт
урл в подгруппе там список статей с коротким описанием и ссылки на полные статьи
+ паггинация снизу


вопрос, как мне эти ссылки собрать (вместе с переходами по пагинации) и попереходить по ним собрав там инфу?

ЗЫ. только только начал скрапи ковырять, пока вообще не понял что как работает
(в итемс закинул поля, какие парсить, в спайдере связал эти поля с div/class элементами на странице, что дальше делать...хз, упёрся именно в пагинации и переходах по ссылке)
мне б побольше примеров посмотреть, я хз где
не забывай еще, что ты можешь в коллбеке вызывать ту же функцию, из которой его вызываешь. Это удобно для обхода той же пагинации. Вот для примера - parse_pages собирает все линки и передает дальше "вниз" в parse_product, и параллельно вызывает сам себя же, со ссылкой на пагинаторы (и дальше в этой же функции опять соберутся все товары и опять возмутся все пагинаторы и т.д. - плюс можно не заморачиваться с отбросом дубликатных ссылок, это за нас делает dupefilter).
https://i.imgur.com/geP64cK.png

:= не обязателен, я просто помечаю по чему прохожу, можно написать
yield from response.follow_all(response.css('.pagination.catalog-list__pagination').getall(), self.parse_pages)
источник

i

ildar in Scrapy
Кирилл
Вообще нет)
а шо так, думаешь надо таки все рулесами и CrawlSpider? оно даст к примеру на этом случае выгоду по строкам?
источник

i

ildar in Scrapy
Или там если что-то переписывать в будущем - оно понятней может быть и легче?
источник

К

Кирилл in Scrapy
Или фоллоу или еще лучше CrawlSpider
источник

i

ildar in Scrapy
ЗЫ кстати attr(href) емнип не надо - follow сам  по-стандарту ищет <a href
источник

МС

Михаил Синегубов... in Scrapy
ildar
ЗЫ кстати attr(href) емнип не надо - follow сам  по-стандарту ищет <a href
скажем так, оно не "по стандарту" а просто смотрит что у него пришло, селектор или строка(и)
источник

S

SoHard 🎄 in Scrapy
ildar
ЗЫ кстати attr(href) емнип не надо - follow сам  по-стандарту ищет <a href
да тут и := не надо
источник

S

SoHard 🎄 in Scrapy
переменные которые нигде не используются
источник

i

ildar in Scrapy
да, и не в питоне 3.8 это не заработает
источник

i

ildar in Scrapy
ну это я так просто для себя помечаю по чему прохожу
источник

i

ildar in Scrapy
SoHard 🎄
да тут и := не надо
а если есть какой-то метод лучше буду признателен. меня тоже немного коробит что она "серым" в пичарме горит)
источник

S

SoHard 🎄 in Scrapy
ildar
а если есть какой-то метод лучше буду признателен. меня тоже немного коробит что она "серым" в пичарме горит)
комментарии?)
источник

i

ildar in Scrapy
комментарий - лишняя строка. или справа. ну наверн справа можно. но что шифт-решетку нажать и пробел, что шифт-двоеточие и равно. плюс на чтении сильно справа
источник

i

ildar in Scrapy
короче, размышление века, буду думать, дня три, как лучше)
источник

S

SoHard 🎄 in Scrapy
ildar
короче, размышление века, буду думать, дня три, как лучше)
из меня херовый программист и не знаю будет ли вообще питон хранить в памяти то что не используется, но выглядит как лишнее место в оперативке
источник

i

ildar in Scrapy
типа эта часть считается генератором? response.css('.pagination.catalog-list__pagination ::attr(href)').getall()
источник

i

ildar in Scrapy
надо почитать будет подробней про := или затестить как-то
источник

AR

Andrey Rahmatullin in Scrapy
ildar
типа эта часть считается генератором? response.css('.pagination.catalog-list__pagination ::attr(href)').getall()
нет, getall() возвращает лист
источник

AR

Andrey Rahmatullin in Scrapy
(не знаю что такое "считается генератором")
источник

i

ildar in Scrapy
ну ты правильно понял что я имел в виду)
источник