Size: a a a

2021 June 12

OS

Oleg Shleiko in Scrapy
Всем привет! Проблема: парсим блоки с json, иногда встречается например такое
{"data": "test 1/2""}
если выдрать через response.xpath().get() то работаем уже с данными вида
{"data": "test 1/2""}
что не является валидным json... Как этого избегать?
источник

AR

Andrey Rahmatullin in Scrapy
Селектить тег, а не его содержимое, и убирать теги
источник

AR

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

AR

Andrey Rahmatullin in Scrapy
Как интересно джс такое обрабатывает
источник

OS

Oleg Shleiko in Scrapy
На выводе двойная кавычка
источник

AR

Andrey Rahmatullin in Scrapy
Вот блин
источник

AR

Andrey Rahmatullin in Scrapy
Ну можно регексами прямо респонс рубить конечно лол
источник

AR

Andrey Rahmatullin in Scrapy
А
источник

AR

Andrey Rahmatullin in Scrapy
Можно в респонсе это заменить на дважды эскейпнутое регексами и дальше парсить, другой вопрос как заменить только то что нужно
источник

OS

Oleg Shleiko in Scrapy
ну оно же в ответе как " значит можно только нужное...
источник

OS

Oleg Shleiko in Scrapy
Спасибо, буду пробовать
источник

AR

Andrey Rahmatullin in Scrapy
Но это в другом месте может быть правильно
источник

OS

Oleg Shleiko in Scrapy
тоже верно...
источник

AR

Andrey Rahmatullin in Scrapy
Для начала можно типа только внутри {} заменять
источник

AR

Andrey Rahmatullin in Scrapy
Всё равно такие хаки под конкретный сайт пишутся, а то и страницу, так что всё допустимо если работает
источник

OS

Oleg Shleiko in Scrapy
а как текст респонса вообще отредактировать?
источник

AR

Andrey Rahmatullin in Scrapy
создать селектор с нужной строкой и селетить по нему
источник

AR

Andrey Rahmatullin in Scrapy
scrapy.Selector
источник

OS

Oleg Shleiko in Scrapy
спасибо
источник

М

Мур in Scrapy
С праздником господа
источник