Parser TGStat z interfejsem graficznym
Aplikacja desktopowa w Pythonie do zbierania danych o kanałach i czatach Telegram z witryny TGStat. Aplikacja posiada pełnoprawny interfejs graficzny, zrealizowany w PyQt6, i wykorzystuje bibliotekę DrissionPage do zarządzania przeglądarką Chromium i parsowania stron internetowych.
Kluczowe możliwości:
- Interfejs graficzny (GUI): Intuicyjny interfejs w PyQt6 umożliwia łatwe dostosowywanie parametrów zbierania, uruchamianie/zatrzymywanie procesu oraz śledzenie logów wykonania w czasie rzeczywistym.
- Zarządzanie przeglądarką: DrissionPage jest używana do automatyzacji przeglądarki, wspierając zarówno tryb normalny, jak i headless.
- Obejście Cloudflare: Zrealizowana klasa do automatycznego przechodzenia podstawowych weryfikacji Cloudflare ("Just a moment...").
- Wsparcie dla autoryzacji: Aplikacja sprawdza obecność aktywnej sesji na TGStat i, w razie potrzeby, czeka na ręczne zalogowanie się użytkownika, zachowując profil na przyszłe uruchomienia.
- Dwa tryby parsowania:
- Po kategoriach: Elastyczny wybór krajów i kategorii do masowego zbierania danych.
- Po linkach: Zbieranie informacji na podstawie dostarczonej listy bezpośrednich URL.
- Filtrowanie: Możliwość wyboru typu (kanały/czaty) oraz ustawienie minimalnego progu liczby subskrybentów.
- Wiele wątków: Zadania łączenia z przeglądarką i parsowania są wykonywane w oddzielnych wątkach (QThread), zapobiegając zawieszaniu się interfejsu.
- Eksport danych: Zebrane dane (nazwa, subskrybenci, link, kategoria itp.) są automatycznie zapisywane w pliku .xlsx za pomocą pandas.
Stos: Python, PyQt6, DrissionPage, pandas.
Kluczowe możliwości:
- Interfejs graficzny (GUI): Intuicyjny interfejs w PyQt6 umożliwia łatwe dostosowywanie parametrów zbierania, uruchamianie/zatrzymywanie procesu oraz śledzenie logów wykonania w czasie rzeczywistym.
- Zarządzanie przeglądarką: DrissionPage jest używana do automatyzacji przeglądarki, wspierając zarówno tryb normalny, jak i headless.
- Obejście Cloudflare: Zrealizowana klasa do automatycznego przechodzenia podstawowych weryfikacji Cloudflare ("Just a moment...").
- Wsparcie dla autoryzacji: Aplikacja sprawdza obecność aktywnej sesji na TGStat i, w razie potrzeby, czeka na ręczne zalogowanie się użytkownika, zachowując profil na przyszłe uruchomienia.
- Dwa tryby parsowania:
- Po kategoriach: Elastyczny wybór krajów i kategorii do masowego zbierania danych.
- Po linkach: Zbieranie informacji na podstawie dostarczonej listy bezpośrednich URL.
- Filtrowanie: Możliwość wyboru typu (kanały/czaty) oraz ustawienie minimalnego progu liczby subskrybentów.
- Wiele wątków: Zadania łączenia z przeglądarką i parsowania są wykonywane w oddzielnych wątkach (QThread), zapobiegając zawieszaniu się interfejsu.
- Eksport danych: Zebrane dane (nazwa, subskrybenci, link, kategoria itp.) są automatycznie zapisywane w pliku .xlsx za pomocą pandas.
Stos: Python, PyQt6, DrissionPage, pandas.