3tzb – listowanie „Trójkowych” podcastów

Raz na jakiś czas wracam do słuchania w pracy radia. Zazwyczaj wybór pada na program trzeci, potocznie zwanego „trójką”. Bardzo często się zdarzało, niestety, że ciekawa audycja zostaje przerwana przez spotkanie, lunch i inne wydarzenia w pracy. Na całe szczęście zawsze istnieje możliwość odsłuchania w późniejszym terminie większości audycji poprzez stronę. Na nieszczęście strona jest strasznie nieintuicyjna i w przypadku gdy chce się odnaleźć jakiś zapis z dalszej przeszłości trzeba się „naklikać”.

Z braku innych rozrywek, zacząłem więc się bawić Chrome Headless, tworząc podwaliny do aplikacji mobilnej, która pozwoli na odsłuchiwanie podcastów bez konieczności błądzenia po stronie. Ale czemu wybrałem akurat tą technologię, zamiast jak cywilizowany człowiek skonsumować RESTowe API serwera…? Odpowiedź jest dość prosta. Nie da się użyć API jeśli go nie ma. Strona w pełni oparta jest o technologię naszych przodków, mianowicie ASP.NET Web Forms. Każda zainteresowana osoba bardzo szybko znajdzie, która firma jest za to odpowiedzialna. Oczywiście nie chodzi o to, żeby teraz znęcać się nad twórcami tej strony, aczkolwiek osobiście wysłałbym SMS’a o treści „POMOC” na numer studentów, którzy na praktykach zajmują się utrzymaniem tej strony.

Wracając do tematu, stworzyłem prosty programik o losowej nazwie 3tzb, który z pomocą Selenium oraz Chrome Headless pozwala na automatyczne przejście przez stronę radia i pobranie odpowiednich linków. Na chwilę obecną obsługa programu wymaga wykonania trzech kroków:
– Pobranie pełnej listy audycji a następnie usunięcia z niej wpisów, na których nam nie zależy. UWAGA! Pobieranie dosłownie wszystkich audycji będzie trwało bardzo długo.
– Pobranie listy odcinków dla każdej z pozostałych na liście audycji
– Pobranie linków do plików .mp3 jeśli strona odcinka takie zawiera.

Produktem programu jest plik, którego planuję używać jako źródło danych dla kolejnych programów.
Na chwilę obecną rozważam stworzenie dwóch aplikacji. Pierwsza będzie działać na androidzie, a druga będzie aplikacją CLI, która pozwoli na wygodną nawigację po uzyskanych danych.

Źródła jak zawsze można znaleźć na moim githubie. Wkrótce postaram się dodać instrukcję, mam nadzieję, że to dosłownie kwestia góra dwóch dni.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *