1045
Чат создан чтобы делиться опытом о Scrapy/Python и другими парсинг технологиями. Вежливость и уважение к другим участникам группы. Троллинг не приветствуется. FAQ: https://github.com/bulatbulat48/ru-scrapy-python Работа: t.me/scrapy_jobs
на самом деле скомпиленный scrapy.core не работает, например судя по всему inlineCallbacks не умеет mypyc
так что ещё вопрос какая часть кодовой базы вообще компилится
То есть условно сделать общую очередь для ответов, ей повесить например 5 слушателей, которые будут набирать себе батчи и процессить их?
Читать полностью…
чтобы получить от меня "комментарий, насколько эта мысль абсурдна/бредова?"? не знаю стоит ли оно того
Читать полностью…
Вот только, кодя на расте 3 недели, получил прирост производительности x6 с одной машины
Читать полностью…
Да вот orjson и юзаем, с ним и результаты)
Пока витает в голове, шальная мысль, написать на расте нечто подходящее на scrapy, но только для хайлоада.
@wrar42 можно комментарий, насколько эта мысль абсурдна/бредова?
Благо никакими браузерными решениями не пахнет, проблема в основном в гигантских jsonах от гугла, из-за чего питону плохеет, а сетка еле до 200мбит доходит (из 1 гбита)
Читать полностью…
Не знаю, у себя упираюсь в процессор на обработке ответов, поэтому и интересует, можно ли что-то скомпилить чтоб быстрее было.
Редис я по привычке сунул :)
scrapy-bench как вариант можно прогнать
а то что в сетку это да, а вот parsel и w3lib могут от этого уже получить бенефиты
ну вот я скомпилил scrapy.core, но дальше стандартная проблема что у нас нет для скрапи нормальных бенчмарков (и что скрапи один фиг в сетку упирается)
Читать полностью…
всем привет! оффтоп
кто пользуется тайп хинтами, пробовали компиляцию через mypyc?
если кто-то из разработчиков scrapy пробовал какую часть скомпилировать, то как прошел эксперимент? что не понравилось? просто интересно
сам этим занимался когда надо было отдельно обрабатывать поля в пришедших данных, которые имеют тип data/datetime
самым удобным решением оказалось пробегать по всем полям и узнавать их класс, если он один из нужных, то чето с ним делать
из интереса закомпилировав эту функцию с mypyc, данные стали обрабатываться на 30% быстрее, а от меня требовалось просто добавить пару строчек в pyproject.toml. бесплатный буст считай
скорее всего которая не асинхронная и с объектами со статичной структурой (без добавления\удаления\создания атрибутов в рантайме)
Читать полностью…
тип того
можно упороться как большие дяди с распределенными вычислениями, а можно попробовать попроще через ijson, я когда огромные джсоны парсил он был спасением
думаю прирост в производительности это даст если будет очень много одновременных и маленьких реквестов, прям очень много
а если затык только в больших данных, то имеет смысл их обрабатывать итеративно, по чанкам, с ленивыми\отложенными вычислениями
вы для себя опишите что это вам даст по сравнению со скрапи
Читать полностью…
тут лучше тогда вместо стандартного json посмотреть на ijson, но переписывать немало придётся
а так если drop-in можно попробовать orjson, он пооптимальней стандартного будет, но не как simdjson, но с ним я никогда не работал
ну если упор в проц то это либо очень много рпм, либо огромные html/json’ы, которые сразу все тяжело парсить
ну или если селениум/плейрайт использовать, там ввще жопа
рпм зависит от скорости сети в основном
а при чём тут редис?
Можно на примере какого нибудь источника типа гугла перфоманс померить, или это не то?
Читать полностью…