Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/alenales/parsing

Парсинг данных по продуктам для сопоставления с базами данных
https://github.com/alenales/parsing

analytics html parsing python requests sql

Last synced: about 13 hours ago
JSON representation

Парсинг данных по продуктам для сопоставления с базами данных

Awesome Lists containing this project

README

        

# Парсинг данных по продуктам на сайте.

## Краткое описание
Скрипт был написан в рамках реальной задачи для [АШАН](https://www.auchan.ru/).
Целью являются выгрузка артикулов и наименований товаров с сайта для формирования актуальной базы по товарам на сайте.

Задачи:
- Создать срипт для парсинга сайта;
- Выгрузить массив данных с артикулами и наименованиями товаров;
- Выгрузить существующую базу по товарам с помощью SQL;
- Объединенить таблицы для добавления навигационных столбцов;
- Загрузка полученного результата в базу.

Проект выполнен с нуля и предназначен только для выгрузки определенных данных.

Результаты:
- Создан рабочий код для конкретной задачи;
- Финальные данные используются при проведении маркетинговых акций. Можно быстро получить данные по требуемым категориям.

Полный скрипт расположен в файле "Parsing_auchan.ipynb".

Стэк:

- Python
- SQL
- Parsing
- HTML

## Библиотеки для работы с Python, SQL и Запросами на сайт.

```
import requests
from bs4 import BeautifulSoup
import pandas as pd
import math
import time
from requests.packages.urllib3.exceptions import InsecureRequestWarning
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
import psycopg2
from sqlalchemy import create_engine
```

## Библиотеки для оформления кода

```
import ipywidgets as wi
from ipywidgets import IntProgress
from IPython.display import display
from ipywidgets import Layout
```

Полученные выгрузки не выкладываются в общий доступ из-за конфеденциальности. Также скрыты все доступы для подключения к базам.
_________________________________
## Последние изменения

Код оптимизирован путем добавления класса и методов для выгрузки разных типов категорий с сайта.
В класс не входят функции для оформления кода и загрузки базы в Dbeaver.

_________________________________

## Процесс

Для подключения использовалась бибилотека BeautifulSoup. Все этапы получения данных разделены на методы, чтобы весь процесс был более отслеживаемым и наглядным.

В связи с тем, что процесс парсинга может занимать довольно длительное время, у каждого метода в классе присутствует виджет с процентами загрузки данных, а также простой подсчет оставшегося времени получения выгрузки.

![image](https://github.com/AlenaLes/Parsing/assets/100629361/69d1484f-9561-44a0-ad87-ed99e1021ed7)
_________________________________

## Финальный результат

Итоговая таблица, загружаемая обратно в базы данных, выглядит следующим образом:

![1](https://github.com/AlenaLes/Parsing/assets/100629361/66341ce8-a6f3-4a68-bc62-ac4d63b2e71e)