Parser Etsy z asynchronicznym zbieraniem danych i wizualizacją w Excelu
Wykorzystane biblioteki:
● playwright: do inicjalizacji przeglądarki, uzyskiwania cookie, ładowania stron Etsy i omijania mechanizmów ochrony.
● BeautifulSoup (bs4): do analizy stron HTML, znajdowania potrzebnych elementów (na przykład linków do produktów) i ich filtrowania według wymaganych parametrów.
● openpyxl: do tworzenia tabel, formatowania komórek, wstawiania danych tekstowych i obrazów do pliku .xlsx.
● Pillow (PIL): do przetwarzania obrazów, w tym zmiany ich rozmiarów przed wstawieniem do Excela.
● httpx: do asynchronicznego ładowania obrazów produktów z linków wysokiej jakości.
Główne zadania:
● Automatyzacja zbierania danych – Wyszukiwanie produktów według słów kluczowych, filtrowanie według nazwy sklepu, omijanie captcha.
● Przetwarzanie informacji – Parsowanie HTML w celu uzyskania nazw, ID produktów, obrazów, zmiana rozmiarów obrazów.
● Zapis wyników – Tworzenie tabeli Excel, wstawianie tekstu i obrazów, formatowanie tabeli.
● Asynchroniczność – Jednoczesne przetwarzanie zapytań i ładowanie obrazów.
● Elastyczność ustawień – Ustawienia parametrów wejściowych, głębokości skanowania i przerw.
Proces realizacji:
1. Zbieranie danych:
Dane są zbierane za pomocą klasy EtsyClient, która enkapsuluje funkcje do interakcji z platformą Etsy, zbierania słów kluczowych, ładowania stron i przetwarzania wyników. Wykorzystywane są biblioteki BeautifulSoup do parsowania i httpx do ładowania obrazów produktów. Dane są organizowane w strukturę gotową do zapisania w pliku.
2. Przetwarzanie i zapisywanie danych:
Do zapisywania zebranych danych wykorzystywana jest biblioteka openpyxl. Tworzona jest tabela Excel, do której zapisywane są zarówno dane tekstowe o produktach, jak i obrazy produktów. Dla każdego produktu automatycznie zmieniany jest rozmiar obrazu przed wstawieniem, aby zapewnić ich poprawne wyświetlanie w tabeli.
3. Asynchroniczność i efektywność:
Proces zbierania i przetwarzania danych realizowany jest asynchronicznie, co pozwala jednocześnie przetwarzać kilka zapytań i ładować obrazy. Dzięki asynchronicznemu podejściu proces zbierania danych znacznie przyspiesza, zmniejszając czas wykonania programu.
4. Elastyczność ustawień:
Program łatwo dostosowuje się do pracy z różnymi sklepami na Etsy dzięki wykorzystaniu zmiennych klasy, co pozwala na zmianę parametrów bez konieczności modyfikacji kodu.
Tagi:
#python #parsery #Parsowanie #playwright #webscraping #Parsery #spardzić #beautifulsoup #beautifulsoup4 #bs4 #pillow #openpyxl
● playwright: do inicjalizacji przeglądarki, uzyskiwania cookie, ładowania stron Etsy i omijania mechanizmów ochrony.
● BeautifulSoup (bs4): do analizy stron HTML, znajdowania potrzebnych elementów (na przykład linków do produktów) i ich filtrowania według wymaganych parametrów.
● openpyxl: do tworzenia tabel, formatowania komórek, wstawiania danych tekstowych i obrazów do pliku .xlsx.
● Pillow (PIL): do przetwarzania obrazów, w tym zmiany ich rozmiarów przed wstawieniem do Excela.
● httpx: do asynchronicznego ładowania obrazów produktów z linków wysokiej jakości.
Główne zadania:
● Automatyzacja zbierania danych – Wyszukiwanie produktów według słów kluczowych, filtrowanie według nazwy sklepu, omijanie captcha.
● Przetwarzanie informacji – Parsowanie HTML w celu uzyskania nazw, ID produktów, obrazów, zmiana rozmiarów obrazów.
● Zapis wyników – Tworzenie tabeli Excel, wstawianie tekstu i obrazów, formatowanie tabeli.
● Asynchroniczność – Jednoczesne przetwarzanie zapytań i ładowanie obrazów.
● Elastyczność ustawień – Ustawienia parametrów wejściowych, głębokości skanowania i przerw.
Proces realizacji:
1. Zbieranie danych:
Dane są zbierane za pomocą klasy EtsyClient, która enkapsuluje funkcje do interakcji z platformą Etsy, zbierania słów kluczowych, ładowania stron i przetwarzania wyników. Wykorzystywane są biblioteki BeautifulSoup do parsowania i httpx do ładowania obrazów produktów. Dane są organizowane w strukturę gotową do zapisania w pliku.
2. Przetwarzanie i zapisywanie danych:
Do zapisywania zebranych danych wykorzystywana jest biblioteka openpyxl. Tworzona jest tabela Excel, do której zapisywane są zarówno dane tekstowe o produktach, jak i obrazy produktów. Dla każdego produktu automatycznie zmieniany jest rozmiar obrazu przed wstawieniem, aby zapewnić ich poprawne wyświetlanie w tabeli.
3. Asynchroniczność i efektywność:
Proces zbierania i przetwarzania danych realizowany jest asynchronicznie, co pozwala jednocześnie przetwarzać kilka zapytań i ładować obrazy. Dzięki asynchronicznemu podejściu proces zbierania danych znacznie przyspiesza, zmniejszając czas wykonania programu.
4. Elastyczność ustawień:
Program łatwo dostosowuje się do pracy z różnymi sklepami na Etsy dzięki wykorzystaniu zmiennych klasy, co pozwala na zmianę parametrów bez konieczności modyfikacji kodu.
Tagi:
#python #parsery #Parsowanie #playwright #webscraping #Parsery #spardzić #beautifulsoup #beautifulsoup4 #bs4 #pillow #openpyxl