Парсер Etsy з асинхронним збором даних і візуалізацією в Excel
Використані бібліотеки:
● playwright: для ініціалізації браузера, отримання cookie, завантаження сторінок Etsy та обходу механізмів захисту.
● BeautifulSoup (bs4): для аналізу HTML-сторінок, знаходження потрібних елементів (наприклад, посилань на товари) та їх фільтрації за необхідними параметрами.
● openpyxl: для створення таблиць, форматування комірок, вставки текстових даних і зображень у файл .xlsx.
● Pillow (PIL): для обробки зображень, включно зі зміною їх розмірів перед вставкою в Excel.
● httpx: для асинхронного завантаження зображень товарів із посилань високої якості.
Основні завдання:
● Автоматизація збору даних – Пошук товарів за ключовими словами, фільтрація за назвою магазину, обхід капчі.
● Обробка інформації – Парсинг HTML для отримання назв, ID товарів, зображень, зміна розмірів зображень.
● Збереження результатів – Створення Excel-таблиці, вставка тексту і зображень, форматування таблиці.
● Асинхронність – Одночасна обробка запитів і завантаження зображень.
● Гнучкість налаштувань – Налаштування параметрів входу, глибини сканування та пауз.
Процес реалізації:
1. Збір даних:
Дані збираються за допомогою класу EtsyClient, який інкапсулює функції для взаємодії з платформою Etsy, збору ключових слів, завантаження сторінок та обробки результатів. Використовуються бібліотеки BeautifulSoup для парсингу та httpx для завантаження зображень товарів. Дані організовуються в структуру, готову до збереження у файл.
2. Обробка та збереження даних:
Для збереження зібраних даних використовується бібліотека openpyxl. Створюється Excel-таблиця, в яку записуються як текстові дані про товари, так і зображення товарів. Для кожного товару автоматично змінюється розмір зображення перед вставкою, щоб забезпечити їх коректне відображення в таблиці.
3. Асинхронність та ефективність:
Процес збору та обробки даних реалізований асинхронно, що дозволяє одночасно обробляти кілька запитів і завантажувати зображення. Завдяки асинхронному підходу процес збору даних значно пришвидшується, зменшуючи час виконання програми.
4. Гнучкість налаштувань:
Програма легко налаштовується для роботи з різними магазинами на Etsy завдяки використанню змінних класу, що дозволяє змінювати параметри без необхідності змінювати код.
Мітки:
#python #парсеры #Парсинг #playwright #webscraping #Парсери #спарсить #beautifulsoup #beautifulsoup4 #bs4 #pillow #openpyxl
● playwright: для ініціалізації браузера, отримання cookie, завантаження сторінок Etsy та обходу механізмів захисту.
● BeautifulSoup (bs4): для аналізу HTML-сторінок, знаходження потрібних елементів (наприклад, посилань на товари) та їх фільтрації за необхідними параметрами.
● openpyxl: для створення таблиць, форматування комірок, вставки текстових даних і зображень у файл .xlsx.
● Pillow (PIL): для обробки зображень, включно зі зміною їх розмірів перед вставкою в Excel.
● httpx: для асинхронного завантаження зображень товарів із посилань високої якості.
Основні завдання:
● Автоматизація збору даних – Пошук товарів за ключовими словами, фільтрація за назвою магазину, обхід капчі.
● Обробка інформації – Парсинг HTML для отримання назв, ID товарів, зображень, зміна розмірів зображень.
● Збереження результатів – Створення Excel-таблиці, вставка тексту і зображень, форматування таблиці.
● Асинхронність – Одночасна обробка запитів і завантаження зображень.
● Гнучкість налаштувань – Налаштування параметрів входу, глибини сканування та пауз.
Процес реалізації:
1. Збір даних:
Дані збираються за допомогою класу EtsyClient, який інкапсулює функції для взаємодії з платформою Etsy, збору ключових слів, завантаження сторінок та обробки результатів. Використовуються бібліотеки BeautifulSoup для парсингу та httpx для завантаження зображень товарів. Дані організовуються в структуру, готову до збереження у файл.
2. Обробка та збереження даних:
Для збереження зібраних даних використовується бібліотека openpyxl. Створюється Excel-таблиця, в яку записуються як текстові дані про товари, так і зображення товарів. Для кожного товару автоматично змінюється розмір зображення перед вставкою, щоб забезпечити їх коректне відображення в таблиці.
3. Асинхронність та ефективність:
Процес збору та обробки даних реалізований асинхронно, що дозволяє одночасно обробляти кілька запитів і завантажувати зображення. Завдяки асинхронному підходу процес збору даних значно пришвидшується, зменшуючи час виконання програми.
4. Гнучкість налаштувань:
Програма легко налаштовується для роботи з різними магазинами на Etsy завдяки використанню змінних класу, що дозволяє змінювати параметри без необхідності змінювати код.
Мітки:
#python #парсеры #Парсинг #playwright #webscraping #Парсери #спарсить #beautifulsoup #beautifulsoup4 #bs4 #pillow #openpyxl