Skip to content

aaa2ppp/lenta-parser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LENTA PARSER

Парсер для сбора информации о товарах и ценах на веб-сайте https://lenta.com. Позволяет выбрать конкретный магазин и категорию товаров. Сбор данных требует обязательного использования прокси-сервера. Для сбора данных не используется html-разметка, только API сайта. Реализован в виде CLI утилиты без использования каких-либо графических инструментов.

Авторизация

API сайта использует авторизацию с помощью cookie qrator_jsid.

Срипт https://lenta.com/__qrator/qauth.js создает и отправляет на сервер fingerprint окружения браузера. В ответ сервер устанавливает cookie qrator_jsid.

imho обход авторизации выходит за рамки задания.

Ручной способ получения cookie:

  • Откройте браузер в режиме инкогнито.
  • Откройте DevTool/Network.
  • Зайдите на страницу https://lenta.com/
  • Найдите последнее обращение к https://lenta.com/__qrator/validate
  • Найдите заголовок ответа Set-Cookie: qrator_jsid=177.... Вам нужно только значение (без имени, без времени жизни etc)

NOTE:

  • Вы должны получить cookie c того-же ip-адреса, от которого будет работать парсер
  • Время жизни cookie 20_000 сек (чуть больше 5.5 часов)

Быстрый старт

В консоли:

make all

# Экспортируйте переменную QRATOR_JSID со значением cookie `qrator_jsid`
export QRATOR_JSID='177***'

# Экспортируйте переменную PROXY
export PROXY='http://[<user>:<password>]<you-proxy-address>:<port>'

# Найдите нужный регион (например Санкт-Петербург)
bin/parser -show regions | grep 'Петербург'

# Получите магазин (например на Большевиков)
bin/parser -show stores -region 3 | grep 'Большевиков'

# Получите список подкатегорий (например Вино в магазине на Большевиков пр., 7к2)
bin/parser -show categories -store 3135 | grep 'Вино'
bin/parser -show categories -store 3135 | grep 22541

# Получите список красных вин
bin/parser -show products -store 3135 -category 22543 > store-3135-red-wine-22543.tsv && \
cat store-3135-red-wine-22543.tsv

# Получите список белых вин
bin/parser -show products -store 3135 -category 22544 > store-3135-white-wine-22544.tsv && \
cat store-3135-white-wine-22544.tsv

# Получите список розовых вин
bin/parser -show products -store 3135 -category 22545 > store-3135-pink-wine-22545.tsv && \
cat store-3135-pink-wine-22545.tsv

Ограничения

Парсер генерирует правильные ссылки на товар, но URL не содержит информации о магазине. Это ограничение сайта. Вам нужно самостоятельно выбрать нужный магазин в браузере, чтобы получить актуальную страницу товара.

About

Парсер для сбора информации о товарах и ценах на веб-сайте https://lenta.com

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors