Size: a a a

2021 January 26

AR

Andrey Rahmatullin in Scrapy
Примерно, но не такая 🤷‍♂
источник

R

Ranis in Scrapy
Andrey Rahmatullin
Примерно, но не такая 🤷‍♂
много проще, но в целом такая же
источник

AR

Andrey Rahmatullin in Scrapy
Была б такая же, были б результаты
источник

AR

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

R

Ranis in Scrapy
ок, спасибо
источник

AB

Arkady B in Scrapy
Знатоки, как правильно готовить ItemLoader?

У меня есть Item, в котором прописаны разные инпут процессоры, и вот я хочу добавить какое-то значение, например
loader.add_xpath("name", "some_xpath")
и тут возникает проблема в том, что если такой xpath не найден на странице, это поле полностью игнорируется itemLoader-ом

Проблема в том, что у меня в input processors написаны все проверки на входное значение
источник

МС

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

МС

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

AB

Arkady B in Scrapy
у меня есть input_processor который называется check_for_empty_string

мне нужно, чтобы scrapy при любых обстоятельствах передавал значение, или его отсутствие в item loader, но из-за поведения ItemLoader это невозможно
источник

AB

Arkady B in Scrapy
короче scrapy принудительно пропускает результат
источник

AB

Arkady B in Scrapy
Arkady B
короче scrapy принудительно пропускает результат
это метод add_value у itemLoader
источник

B

Bulatbulat48 in Scrapy
источник

AB

Arkady B in Scrapy
это не поможет тут, поскольку у меня parse_article выглядит так

loader = ItemLoader(item=ArticleItem(), response=response)
loader.add_xpath("created_at", "XPATH")
yield loader.load_item()

Так вот в рузультате не будет ключа created_at если xpath неверный
источник

AB

Arkady B in Scrapy
Никто не сталкивался с таким я так полагаю?
источник

AR

Andrey Rahmatullin in Scrapy
Обычно не надо, да
источник

AR

Andrey Rahmatullin in Scrapy
Ну перепиши этот метод в своем классе
источник

AB

Arkady B in Scrapy
короче это открытая проблема
https://github.com/scrapy/itemloaders/issues/40
источник

B

Bulatbulat48 in Scrapy
можешь сам пофиксить и кинуть PR 🙂
источник

AB

Arkady B in Scrapy
Bulatbulat48
можешь сам пофиксить и кинуть PR 🙂
Видимо ага
источник

МС

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