Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/alenales/parsing
Парсинг данных по продуктам для сопоставления с базами данных
https://github.com/alenales/parsing
analytics html parsing python requests sql
Last synced: about 13 hours ago
JSON representation
Парсинг данных по продуктам для сопоставления с базами данных
- Host: GitHub
- URL: https://github.com/alenales/parsing
- Owner: AlenaLes
- Created: 2024-01-29T13:36:44.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2024-03-16T13:05:11.000Z (8 months ago)
- Last Synced: 2024-03-16T15:36:09.181Z (8 months ago)
- Topics: analytics, html, parsing, python, requests, sql
- Language: Jupyter Notebook
- Homepage:
- Size: 32.2 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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)