{"id":23451348,"url":"https://github.com/xob0t/mmparser","last_synced_at":"2026-03-12T06:01:41.927Z","repository":{"id":233043340,"uuid":"785720670","full_name":"xob0t/mmparser","owner":"xob0t","description":"Скрапер/парсер megamarket.ru","archived":false,"fork":false,"pushed_at":"2025-02-25T06:45:09.000Z","size":1234,"stargazers_count":20,"open_issues_count":1,"forks_count":4,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-04-13T20:40:25.732Z","etag":null,"topics":["api","megamarket","parser","python","scraper"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/xob0t.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-04-12T13:34:18.000Z","updated_at":"2025-03-19T12:53:47.000Z","dependencies_parsed_at":"2024-04-13T04:00:57.151Z","dependency_job_id":"da699537-b192-43d8-80db-7e609dae09fc","html_url":"https://github.com/xob0t/mmparser","commit_stats":null,"previous_names":["xob0t/mmparser"],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/xob0t/mmparser","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xob0t%2Fmmparser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xob0t%2Fmmparser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xob0t%2Fmmparser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xob0t%2Fmmparser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xob0t","download_url":"https://codeload.github.com/xob0t/mmparser/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xob0t%2Fmmparser/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30416731,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-12T04:41:02.746Z","status":"ssl_error","status_checked_at":"2026-03-12T04:40:12.571Z","response_time":114,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","megamarket","parser","python","scraper"],"created_at":"2024-12-24T00:25:46.613Z","updated_at":"2026-03-12T06:01:41.863Z","avatar_url":"https://github.com/xob0t.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"#\n\n```text\n         ____ ___  ____ ___  ____  ____  _____________  _____\n        / __ `__ \\/ __ `__ \\/ __ \\/ __ `/ ___/ ___/ _ \\/ ___/\n       / / / / / / / / / / / /_/ / /_/ / /  (__  )  __/ /\n      /_/ /_/ /_/_/ /_/ /_/ .___/\\__,_/_/  /____/\\___/_/\n                         /_/\n```\n\n![GitHub Downloads (all assets, all releases)](https://img.shields.io/github/downloads/xob0t/mmparser/total)\n\n## Сказать спасибо автору - [Yoomoney](https://yoomoney.ru/to/410018051351692)\n\nСвязь со мной [tg](https://t.me/mobate) - Индивидуальной поддержкой бесплатно не занимаюсь\n\n### Демо ускорено в 10 раз\n\n[![asciicast](https://asciinema.org/a/fYFj0HVO16r16vaK1reEa4617.svg)](https://asciinema.org/a/fYFj0HVO16r16vaK1reEa4617)\n\n\u003cdetails\u003e\n  \u003csummary\u003eПример уведомления Telegram\u003c/summary\u003e\n  \u003cimg src=\"media/tg_demo.jpg\"\u003e\n\u003c/details\u003e\n\n## Особенности\n\n- Работа через api\n- Парсинг карточек товаров при парсинге каталога/поиска\n- Сохранение результатов в sqlite БД\n- Запуск с конфигом и/или аргументами\n- Интерактивное создание конфигов\n- Поддержка прокси строкой или списком из файла\n- Поддержка ссылок каталога, поиска, и карточек товара\n- Парсинг одной ссылки в многопотоке, по потоку на прокси/соединение\n- Импорт cookies экспортированних в формате Json с помошью [Cookie-Editor](https://chrome.google.com/webstore/detail/hlkenndednhfkekhgcdicdfddnkalmdm)\n- Блеклист продавцов\n- Regex фильтр по именам товаров\n- Уведомления в телеграм по заданным параметрам\n- Позволяет выставить время, через которое подходящий по параметрам уведомлений товар будет повторно отправлен в TG\n- Использование блеклиста продавцов с ограничением на списание бонусов\n- Сссылки на каталог супермаркетов не поддерживаются :(\n\n## Установка:\n\n1. Установить [Python](https://www.python.org/downloads/), в установщике поставить галочку \"Добавить в PATH\"\n2. Установить парсер:\n\n   ```bash\n   pip install https://github.com/xob0t/mmparser/releases/latest/download/mmparser.zip -U\n   ```\n\n## Пример использования\n\n\u003e [!Caution]\n\u003e С начала 2025 года парсинг без cookies не работает!\n\n\u003e [!Warning]\n\u003e Кавычки вокруг URL обязательны!\n\n### Парсинг url с cookie файлом\n\n```bash\nmmparser -cookies \"cookies.json\" \"https://megamarket.ru/catalog/details/processor-amd-ryzen-5-5600-am4-oem-600008773764/\"\n```\n\n### Без аргументов, создание конфига\n\n```bash\nmmparser\n```\n\n### Запуск с конфигом\n\n```bash\nmmparser -config \"config.json\"\n```\n\n## Чтение результатов\n\nПри запуске парсер создаст в рабочей директории файл storage.sqlite\n\nЭто sqlite база данных, очень удобно читается в [DB Browser for SQLite](https://sqlitebrowser.org/)\n\n## Запуск по расписанию на windows:\n\n[Планировщик заданий Windows для начинающих](https://remontka.pro/windows-task-scheduler/)\n\n#\n\n```text\nmmparser [-h] [-job-name JOB_NAME] [-config CONFIG] [-include INCLUDE] [-exclude EXCLUDE] [-blacklist BLACKLIST] [-all-cards] [-no-cards] [-cookies COOKIES] [-account-alert ACCOUNT_ALERT] [-address ADDRESS] [-proxy PROXY] [-proxy-list PROXY_LIST] [-allow-direct] [-tg-config TG_CONFIG]\n                [-price-value-alert PRICE_VALUE_ALERT] [-price-bonus-value-alert PRICE_BONUS_VALUE_ALERT] [-bonus-value-alert BONUS_VALUE_ALERT] [-bonus-percent-alert BONUS_PERCENT_ALERT] [-use-merchant-blacklist] [-alert-repeat-timeout ALERT_REPEAT_TIMEOUT] [-threads THREADS] [-delay DELAY]\n                [-error-delay ERROR_DELAY] [-log-level {DEBUG,INFO,WARNING,ERROR,CRITICAL}]\n                [url]\n\nПарсер/скрапер megamarket.ru\n\nPositional Arguments:\n  url                   URL для парсинга\n\nOptions:\n  -h, --help            show this help message and exit\n  -job-name JOB_NAME    Название задачи, без этого параметра будет автоопределено\n  -config CONFIG        Путь к конфигу парсера\n  -include INCLUDE      Парсить только товары, название которых совпадает с выражением\n  -exclude EXCLUDE      Пропускать товары, название которых совпадает с выражением\n  -blacklist BLACKLIST  Путь к файлу со списком имен игнорируемых продавцов\n  -all-cards            Всегда парсить карточки товаров\n  -no-cards             Не парсить карточки товаров\n  -cookies COOKIES      Путь к файлу с cookies в формате JSON (Cookie-Editor - Export Json)\n  -account-alert ACCOUNT_ALERT\n                        Если вы используйте cookie, и вход в аккаунт не выполнен, присылать уведомление в TG\n  -address ADDRESS      Адрес, будет использовано первое сопадение\n  -proxy PROXY          Строка прокси в формате protocol://username:password@ip:port\n  -proxy-list PROXY_LIST\n                        Путь к файлу с прокси в формате protocol://username:password@ip:port\n  -allow-direct         Использовать прямое соединение параллельно с прокси для ускорения работы в многопотоке\n  -tg-config TG_CONFIG  Telegram Bot Token и Telegram Chat Id в формате token$id\n  -price-value-alert PRICE_VALUE_ALERT\n                        Если цена товара равна или ниже данного значения, уведомлять в TG\n  -price-bonus-value-alert PRICE_BONUS_VALUE_ALERT\n                        Если цена-бонусы товара равна или ниже данного значения, уведомлять в TG\n  -bonus-value-alert BONUS_VALUE_ALERT\n                        Если количество бонусов товара равно или выше данного значения, уведомлять в TG\n  -bonus-percent-alert BONUS_PERCENT_ALERT\n                        Если процент бонусов товара равно или выше данного значения, уведомлять в TG\n  -use-merchant-blacklist\n                        Использовать черный список продавцов с ограничением на списание бонусов\n  -alert-repeat-timeout ALERT_REPEAT_TIMEOUT\n                        Если походящий по параметрам товар уже был отправлен в TG, повторно уведомлять по истечении заданного времени, в часах\n  -threads THREADS      Количество потоков. По умолчанию: 1 на каждое соединиение\n  -delay DELAY          Задержка между запросами в секундах при работе в одном потоке. По умолчанию: 1.8\n  -error-delay ERROR_DELAY\n                        Задержка между запосами в секундах в случае ошибки при работе в одном потоке. По умолчанию: 5\n  -log-level {DEBUG,INFO,WARNING,ERROR,CRITICAL}\n                        Уровень лога. По умолчанию: INFO\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxob0t%2Fmmparser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxob0t%2Fmmparser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxob0t%2Fmmparser/lists"}