Size: a a a

2020 December 01

DO

Daniil Okhlopkov in Scrapy
Я прорвался через cloudflare - теперь следующая защита: рандомизация названий классов у div.

Какие есть best practices обхода этой защиты?))
источник

B

Bulatbulat48 in Scrapy
Daniil Okhlopkov
Я прорвался через cloudflare - теперь следующая защита: рандомизация названий классов у div.

Какие есть best practices обхода этой защиты?))
смотреть обфускацию в js файлах или привязоваться к тегам, словам.
источник

B

Bulatbulat48 in Scrapy
источник

B

Bulatbulat48 in Scrapy
возможно оно приходит из api?
источник

DO

Daniil Okhlopkov in Scrapy
Bulatbulat48
возможно оно приходит из api?
нет, проверил. Страница вот эта: https://angel.co/company/northstarmoney/jobs/475388-
источник

DO

Daniil Okhlopkov in Scrapy
Bulatbulat48
смотреть обфускацию в js файлах или привязоваться к тегам, словам.
про привязку к тегам-словам я понял, спасибо.
А про обфускацию в js - нет. Вроде как всю страницу рендерит бекенд и сразу выдает такие компоненты
источник

AR

Andrey Rahmatullin in Scrapy
Это не обфускация, просто автогенерация, как я понимаю
источник

DO

Daniil Okhlopkov in Scrapy
Andrey Rahmatullin
Это не обфускация, просто автогенерация, как я понимаю
В любом случае, просто так привязаться не получится к div. Но я такой подход видел на много сайтах - точно уже должен быть метод, как это обходить. Можно костыляться за структуру сайта и за слова, которые не меняются. Но вдруг еще что-нибудь есть в арсенале
источник

AR

Andrey Rahmatullin in Scrapy
Не встречал
источник

AR

Andrey Rahmatullin in Scrapy
Ну, без мл
источник

DO

Daniil Okhlopkov in Scrapy
Andrey Rahmatullin
Ну, без мл
Мл? Мащин лернинг?) auto parser от scraping hub?
источник

AR

Andrey Rahmatullin in Scrapy
Не, что-нибудь своё на computer vision
источник

DO

Daniil Okhlopkov in Scrapy
Ну уж нет
источник

B

Bulatbulat48 in Scrapy
Andrey Rahmatullin
Это не обфускация, просто автогенерация, как я понимаю
+
источник

Ra

Ruslan aka DUDE in Scrapy
Соорудил такой костыль:
def innerHTMLSelector(selector):
   html = ''.join([s.extract() for s in x.xpath('node()')])
   return scrapy.Selector(text=html, type='html')

есть ли чтото менее костыльное?
гугл ничего адекватного не выдал
источник

МС

Михаил Синегубов... in Scrapy
Ruslan aka DUDE
Соорудил такой костыль:
def innerHTMLSelector(selector):
   html = ''.join([s.extract() for s in x.xpath('node()')])
   return scrapy.Selector(text=html, type='html')

есть ли чтото менее костыльное?
гугл ничего адекватного не выдал
ээээ, а теперь выдохни, сосчитай до 10 и объясни русским языком, что за костыль и нахрена он нужен?
источник

МС

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

DO

Daniil Okhlopkov in Scrapy
Подскажите, пожалуйста, как в xpath селектнуть по слову subheader, которое должно быть contains в названии класса? (надеюсь, понятно описал задачу)...
источник

К

Кирилл in Scrapy
Daniil Okhlopkov
Подскажите, пожалуйста, как в xpath селектнуть по слову subheader, которое должно быть contains в названии класса? (надеюсь, понятно описал задачу)...
Используй contains в xpath по классу 😆
источник

DO

Daniil Okhlopkov in Scrapy
Кирилл
Используй contains в xpath по классу 😆
ага) я ключевое слово contains тоже нагуглил, но так и не смог высказать точного заклинания. Читал инстуркцию эту https://docs.scrapy.org/en/latest/intro/tutorial.html
источник