Size: a a a

2021 April 11

A

Alexey in Scrapy
Воспользоваться поиском по чату забив слово Selenium религия не позволяет? 👀
источник

VB

Vlad Belov in Scrapy
Всем привет!
Подскажите, пожалуйста, в чем может быть дело

Необходимо запустить спайдер с кмд параметром, чтобы на основании его значения создавались self.rules и self.start_urls.

Для этого использую инит:

class NikeSpider(CrawlSpider):

   name = 'nike'
   allowed_domains = ['nike.com']  

   def __init__(self, locales=None, *args, **kwargs):
       super(NikeSpider, self).__init__(*args, **kwargs)
       LOCALES = locales.split(',')
       self.rules = [
           Rule(LinkExtractor(allow=fr'www.nike.com/{locale}/*'), callback='parse', follow=True)
           for locale in LOCALES
       ]
       self.start_urls = [f'https://www.nike.com/{locale}/' for locale in LOCALES]

При этом спайдер получает респонс 200 от https://www.nike.com/gb/, но сразу перестает парсить с INFO: Closing spider (finished)

Если пишу тот же самый код вне инита, то всё ок, спайдер начинает парсить без проблем. Код такой:

class NikeSpider(CrawlSpider):

   name = 'nike'
   allowed_domains = ['nike.com']  

   LOCALE = 'gb'
   rules = [
       Rule(LinkExtractor(allow=fr'www.nike.com/{LOCALE}/*'), callback='parse', follow=True)
   ]
   start_urls = [f'https://www.nike.com/{LOCALE}/']

Но в таком случае передача параметра LOCALE не работает и локаль не параметризуется. Скажите, пожалуйста, в чем может быть дело и как это можно настроить?
источник

AR

Andrey Rahmatullin in Scrapy
CrawlSpider парсит self.rules в своём __init__, поэтому присваивать их после его вызова уже поздно
источник

AR

Andrey Rahmatullin in Scrapy
можно переместить вызов в конец
источник

VB

Vlad Belov in Scrapy
понял, спасибо, попробую
источник

VB

Vlad Belov in Scrapy
Помогло, спасибо)
источник

МС

Михаил Синегубов... in Scrapy
@Bulatbulat48 ты напиши в приветствии, чего нельзя постить в начале, а то народ пугается :))
источник

S

SoHard 🎄 in Scrapy
мне кажется, тут нет мест где что-то сделано правильно)
источник

B

Bulatbulat48 in Scrapy
А что нельзя постить?
источник

S

SoHard 🎄 in Scrapy
ссылки
источник

МС

Михаил Синегубов... in Scrapy
ну, это не мой код. Иноземец что то хотел спросить, код снесло и он свои сообщения потер. И в личке не читает
источник

B

Bulatbulat48 in Scrapy
А да, логично, сделаю.
источник

МС

Михаил Синегубов... in Scrapy
мое верхнее сообщение снесло у новичка
источник

МС

Михаил Синегубов... in Scrapy
глянь по последним действиям
источник

МС

Михаил Синегубов... in Scrapy
некто "Thiago Muller"
кстати, как обращаться к человку, если не настроен ник... 🤔
источник

A

Andrii in Scrapy
У меня нет ника
источник

A

Andrii in Scrapy
Через @
источник

МС

Михаил Синегубов... in Scrapy
Andrii 😳, мля, я как всегда слоупок.....
источник

МС

Михаил Синегубов... in Scrapy
надо было просто имя ввести 😆
источник

TM

Thiago Muller in Scrapy
Hey there, I'm back
it seems anti-spam bot was deleting my messages, don't know why exactly, so, I'll try again!!
источник