-
Клонировать репозиторий:
git clone https://github.com/dev2033/wb_parser.git
-
Перейти в директорию с проектом:
cd wb_parser/
-
Установить и активировать виртуальное окружение и установить зависимости:
python3 -m venv env source env/bin/activate pip install -r requirements.txt
-
Перейти в дирикторию
src/
и запустить файлmain.py
:python3 main.py
-
Чтобы отправить запрос с id товаров, нужно выполнить следующее:
-
Утилита
curl
:curl -X 'POST' \ 'http://127.0.0.1:8000/csv-json' \ -H 'accept: application/json' \ -H 'Content-Type: application/json' \ -d '{ "id": [ "8279056", "10899304", "8576622" ] }'
-
Утилита Postman:
Отправляем POST запрос на адрес
http://127.0.0.1:8000/csv-json
в панели ниже выбираем Body и вставляем json, типа:{ "id": [ "8279056", "10899304", "8576622" ] }
Если в ответ вернется такой же json, значит запрос правильный и запустился парсинг. Если отправить запрос повторно, но парсер не закончил работу, вернется ошибка, с статус кодом
405
-Method Not Allowed
. Текст ошибки:{ "detail": "Parsing process in progress! Please wait..." }
-
-
Для получения результатов парсинга, нужно отправить GET запрос на URL -
http://127.0.0.1:8000/get_data_json
:- Утилита
curl
:curl -X 'GET' \ 'http://127.0.0.1:8000/get_data_json' \ -H 'accept: application/json'
В случае успеха ответом придет полученный, в результате парсинга - json:
[ { "8279056": { "price": 640, "sale": 51, "basicSale": 30, "basicPrice": 448, "promoSale": 30, "promoPrice": 313, "CustomerSale": "", "CustomerPrice": "" } }, { "10899304": { "price": 3300, "sale": 62, "basicSale": 40, "basicPrice": 1980, "promoSale": 37, "promoPrice": 1247, "CustomerSale": "", "CustomerPrice": "" } }, ]
- Утилита
-
Файл
state_parsing.json
нужен для проверки состояния парсера (работает / отключен), если работает (false
), то новые POST запросы не принимаются и возвращается ошибка!
-
Клонировать репозиторий:
git clone https://github.com/dev2033/wb_parser.git
-
Перейти в директорию с проектом:
cd wb_parser/
-
В файле
systemd_config/parser.service
изменить пути до рабочей директории(WorkingDirectory=
) и до файлаrun.sh
(ExecStart=
) -
После этого нужно скопировать файл Unit'а (
systemd_config/parser.service
) в/etc/systemd/system/
:sudo cp parser.service /etc/systemd/system/
-
Запускаем демон:
sudo service parser start
-
Для проверки работы демона, выполнить команду:
sudo service parser status
-
Чтобы остановить демон:
sudo service parser stop
-
Чтобы запустить службу при загрузке системы, используйте команду -
sudo systemctl enable parser.service
Настройки nginx, если нужно слушать 80 порт
-
Настройка nginx (
/etc/nginx/site-available/default
):server { listen 80; server_name localhost; access_log /var/log/nginx/example.log; location / { proxy_pass http://127.0.0.1:8000; proxy_set_header Host $server_name; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
-
Перезапустить nginx командой -
sudo service nginx restart
-
Проверить работоспособность nginx -
sudo service nginx status
-
Чтобы отправить запрос с id товаров, нужно выполнить следующее:
-
Утилита
curl
:curl -X 'POST' \ 'http://127.0.0.1:8000/csv-json' \ -H 'accept: application/json' \ -H 'Content-Type: application/json' \ -d '{ "id": [ "8279056", "10899304", "8576622" ] }'
-
Утилита Postman:
Отправляем POST запрос на адрес
http://127.0.0.1:8000/csv-json
в панели ниже выбираем Body и вставляем json, типа:{ "id": [ "8279056", "10899304", "8576622" ] }
Если в ответ вернется такой же json, значит запрос правильный и запустился парсинг. Если отправить запрос повторно, но парсер не закончил работу, вернется ошибка, с статус кодом
405
-Method Not Allowed
. Текст ошибки:{ "detail": "Parsing process in progress! Please wait..." }
-
-
Для получения результатов парсинга, нужно отправить GET запрос на URL -
http://127.0.0.1:8000/get_data_json
:- Утилита
curl
:curl -X 'GET' \ 'http://127.0.0.1:8000/get_data_json' \ -H 'accept: application/json'
В случае успеха ответом придет полученный, в результате парсинга - json:
[ { "8279056": { "price": 640, "sale": 51, "basicSale": 30, "basicPrice": 448, "promoSale": 30, "promoPrice": 313, "CustomerSale": "", "CustomerPrice": "" } }, { "10899304": { "price": 3300, "sale": 62, "basicSale": 40, "basicPrice": 1980, "promoSale": 37, "promoPrice": 1247, "CustomerSale": "", "CustomerPrice": "" } }, ]
- Утилита
-
Файл
state_parsing.json
нужен для проверки состояния парсера (работает / отключен), если работает (false
), то новые POST запросы не принимаются и возвращается ошибка!