Чат создан чтобы делиться опытом о Scrapy/Python и другими парсинг технологиями. Вежливость и уважение к другим участникам группы. Троллинг не приветствуется. FAQ: https://github.com/bulatbulat48/ru-scrapy-python Работа: t.me/scrapy_jobs
ну вот смотри, у тебя условно 16 лямов или сколько там юзеров, парсер их за сколько пробегает? он в одно рыло это делает, или там какие-то у тебя конты туда-сюда создаются и бороздят просторы космосы?
Читать полностью…я планировал из оперативы кеш записывать на диск периодически
Читать полностью…либо их можно сбрасывать на диск при завершении, если всегда штатно завершается
Читать полностью…не планировал бд подключать вообще, кажется для моего кейса это будет излишним
Читать полностью…у меня цифры по скормнее будут) трафик на маркетплейсе всего 15 лямов пользователей, и ежедневно активных хз сколько, думаю не больше 1 млн а то и меньше
Читать полностью…описанная задача напоминает теорему про сферического коня в вакууме. И да, по моему, идет подмена понятия, что такое кэш. Речь то идет про что то вроде "храним старых данных что бы проверять что то"
но, если абстрагироваться, то
если надо тупо чекать имя юзверя, обрабатывали или нет раньше - то и 10 000 есть смысл хранить в памяти. Да, сколько угодно можно хранить в памяти, пока она не кончится. Только надо понимать, что это будет хранится только пока скрипт работает. Стопнулся скрипт - очистилась память.
Если надо что то независимое, то, есть смысл посмотреть на что то вроде Redis. У меня есть реализация фильтра дублей, 1 млрд ID'шек на 40 символов каждая весит 68 Гб. Проверка на дубли идет со скоростью, что то около 5 тыс проверок в секунду....
чат гпт говорит что если хранить кеш в оперативной памяти и проверять есть ли кто-то из 50 юзеров в кеше будет быстрее
Читать полностью…на самом деле пофиг как главное чтоб оно работало и давало перфоманс
Читать полностью…Я б не назвал хранение результата функции громким словом кеширование
Читать полностью…если юзер подходит по количеству подпищиков, он парсит его обьяву
Читать полностью…если решено будет выбрать скрапи, то первым делом читать
https://docs.scrapy.org/en/latest/topics/dynamic-content.html
вторым - если делать реализацию с браузером, то забиваем болт на интеграцию с селениумом-puppeteer (если тока кто-то прям собаку съел на селене, тогда может быть, и то не факт) и берем https://github.com/scrapy-plugins/scrapy-playwright
первым делом надо искать API подобных магазов для мобилок/всяких заказ-систем аля тбанк-город или условного мегамаркета.
если бан - смотрим кто qrator или cloudfare, ищем либы обхода.
1) что такое id? сначала css, потом xpath, тока не в тупую до nth element, а примерно уровня как selectorgadget генерит
2) можно и так, но лучше найти что отличается и скормить нормальные заголовки, UA и прочее чтобы не банился.
3) см. сверху сообщения
4) можно отталкиваться от верхней границы аля гигабайта оперативы на процесс.
хотя емнип там и в set в worst case O(n), но все же лучше это чем в листе)
Читать полностью…100% в запросе нет функции отфильтровать как-то по количеству юзеров? что за сайт, если не секрет? парсер без проблем пробегается за 1 раз? тогда подсчитать память и хранить в условном set (чтобы поиск был за O(1) ), тока не в list
Читать полностью…и потом при запуске скрапера подтягивать оттуда кеш снова
Читать полностью…пока чисто по моим вымышленным вычислениям даже если в кеше будет 50 000к + юзеров , если это всё будет в оперативке то скорость реально бустанется
Читать полностью…без бд данные будут жить только пока живёт процесс, если это нормально то ок
Читать полностью…ну и? в чем проблема в оперативке хранить?
а как именно в оперативка - дерис или просто список, похрен
а, если что, редис из стока надо настраивать, отключать частые сохранения, а то тормозить будет
посмотрите про алгоритмы кеширования, я думаю это поможет в решении вопроса (их там много - LRU, MRU и т.д)
на ютубе есть отличное видео объясняющее что к чему
Как проверка чего-то в памяти может быть дольше запроса в сеть, и уж тем более через браузер
Читать полностью…я чет думал что проверка юзернейма в кеше будет дольше чем запрос через puppeter и парсинг количества подпищиков
Читать полностью…