Upubliczniam swój zapis ofert z JustJoinIT (od października 2021r. do sierpnia 2023r.)

25

W 2021 chcialem poanalizowac dane dla ofert na rynku IT w Polsce i ustawilem sobie malego crona w AWSie, ktory raz dziennie zaciagal dane z JustJoinIT (z endpointu wystawiajacego wszystkie oferty) i zapisywal otrzymanego JSONa do bucketu w S3. Zarzucilem projekt z braku czasu, natomiast cron dzialal sobie caly czas i nazbieralo sie troche danych - pierwszy zaciagniety dzien to 2021-10-23, a ostatni dzien to 2023-09-25 (no i brakuje 32 dni z powodu blednego kodu lambdy).

Postanowilem opublikowac ten dataset, wiec jak ktos ma ochote pogrzebac w tych danych, to mozna je sciagnac tutaj: https://www.kaggle.com/datasets/jszafranqb/justjoinit-job-offers-data-2021-10-2023-09

1GB po skompresowaniu, ~8.5GB bez kompresji, 1 plik JSON per dzien.

0

Przetwarzałeś te JSONy czy tylko je zapisywałes u siebie? Pytam w kontekście tego czy przez te 2 lata zmienili jakoś model danych udostępnianych z API. Tak wiem, mogę porównać 1 i ostatniego JSONa, ale mi się nie chce :(

1
kixe52 napisał(a):

Przetwarzałeś te JSONy czy tylko je zapisywałes u siebie? Pytam w kontekście tego czy przez te 2 lata zmienili jakoś model danych udostępnianych z API. Tak wiem, mogę porównać 1 i ostatniego JSONa, ale mi się nie chce :(

Nic nie przetwarzalem, to "surowe" dane - response bez zadnych modyfikacji byl zapisywany do bucketu S3. Co do schemy, to jakies zmiany na pewno byly - np. po wybuchu wojny na Ukrainie dodali atrybut oferty "Friendly for Ukraine citizens". Odpalalem kiedys loopa po samplu danych i wyszly mi bodajze 4 rozne schemy (natomiast te roznice nie byly duze). Jak bede mial chwile, to przepuszcze calosc przez jakiegos toola do inferrowania schemy i dodam informacje do opisu na Kaggle.

0

W jakim celu to zrobiłeś, skoro nie stworzyłeś żadnych raportów itp? Miałeś jakiś plan ale nie było czasu / motywacji? Czy jedynie kwestia nauki lambd na AWSie?

0

@kixe52: To mial byc jakis side project z data engineeringu/BI, natomiast - tak jak napisales - zabraklo motywacji i czasu. Potem urodzila sie corka i czasu bylo jeszcze mniej ;). Jak we wrzesniu JJIT zmienilo kompletenie sposob serwowania danych (juz nie po API), to postanowilem, ze nie bede pisal zadnego customowego scrapera, ale przynajmniej opublikuje te dane (bo IMO to dosc ciekawy dataset i pewnie komus innemu sie przyda).

0

Jakiś pomysł jak oni je teraz serwują? rzuciłem okiem i faktycznie odpytania API nie ma, leci tylko parę options. Może robią SSR żeby się lepiej pozyjonować.

0

@bagietMajster: tak jak mowisz, SSR: view-source//justjoin.it/
Do tego poczatkowo renderowana jest tylko czesc ofert z tego co sprawdzalem kiedys.

0

Z tego co widzę to deduplikację danych można przeprowadzić przy użyciu Id oraz published_at. Wygląda że oba pola są w najstarszym jak i najnowszym pliku. Wrzuciłem część danych do bazy SQL ale wymaga to trochę więcej zabawy niż myślałem.

1

Niech ktoś zrobi analizę ilości ofert z podziałem na stack :D

1

28 lutego 2022 dodane zostało pole open_to_hire_ukrainians, 20 kwietnia 2022 wprowadzili "multilocation", gdzie ta sama oferta w wielu miastach jest kopiowana raz dla każdego miasta, 25 września 2023 przeszli na paginację i SSR, nadal da się to scrapować tylko dużo większy effort niż wrzucenie crona na justjoin.it/api/offers.json.

Dane przed wprowadzeniem SSR bardzo polecam, bardzo prosta schema (nie to co nofluffjobs gdzie masz 6000 pól z czego każda oferta używa 30 innych a do tego wszystko trzymane w jakimś nosqlowym [CIACH!] gdzie czasem coś jest stringiem, czasem liczbą a czasem obiektem)

0

Zbierales dane przez 2 lata i sam nie wiesz do konca po co? Fajnie masz stary :-)

3

Wątek ma już kilka dni, a tu dalej nie ma wykresu. Lepiej wrzuć te dane na forum programistów.

3
chart napisał(a):

Wątek ma już kilka dni, a tu dalej nie ma wykresu. Lepiej wrzuć te dane na forum programistów.

@chart Na wykopie pojawiły się jakieś wizualizacje (https://wykop.pl/wpis/73958621/mireczek-jszafran-zebral-dane-z-2-lat-zawierajace-).

0
Kuba Szafran napisał(a):
chart napisał(a):

Wątek ma już kilka dni, a tu dalej nie ma wykresu. Lepiej wrzuć te dane na forum programistów.

@chart Na wykopie pojawiły się jakieś wizualizacje (https://wykop.pl/wpis/73958621/mireczek-jszafran-zebral-dane-z-2-lat-zawierajace-).

Przydałyby się dane z jeszcze poprzednich lat. bo z tego wykresu wychodzi na to, że obecnie mamy normalne czasy a tylko poprzedni rok była wręcz bańka ofert pracy.

0

Web scraping jest nieetyczny. Mam nadzieję, że wraz z upływem lat, w ramach regulacji które będą narastały w IT, takie i inne podobne zagrywki staną się nielegalne.

6
DisposableUserException napisał(a):

Web scraping jest nieetyczny. Mam nadzieję, że wraz z upływem lat, w ramach regulacji które będą narastały w IT, takie i inne podobne zagrywki staną się nielegalne.

@DisposableUserException Mozesz rozwinac, co rozumiesz przez slowo "zagrywki"? Przed publikacja tych danych pytalem sie JJIT o zgode.

3
DisposableUserException napisał(a):

Web scraping jest nieetyczny. Mam nadzieję, że wraz z upływem lat, w ramach regulacji które będą narastały w IT, takie i inne podobne zagrywki staną się nielegalne.

Totalna bzdura. Czyli co? Nieetycznym byłoby gdybym zatrudnił kogoś, żeby codziennie siedział i zapisywał wszystkie publiczne oferty w excelu i tak przez 2 lata? Nic w tym nieetycznego, to zwykłe zbieranie publicznie dostępnych informacji.

2

Web scraping jest nieetyczny. Mam nadzieję, że wraz z upływem lat, w ramach regulacji które będą narastały w IT, takie i inne podobne zagrywki staną się nielegalne.

Witki opadają

0
DisposableUserException napisał(a):

Web scraping jest nieetyczny. Mam nadzieję, że wraz z upływem lat, w ramach regulacji które będą narastały w IT, takie i inne podobne zagrywki staną się nielegalne.

@DisposableUserException
Nieetyczne to może być jakbyś scrapował czyjeś dane i potem założył taką samą usługę na podstawie ich danych. Nie widzę nic nieetycznego w użyciu danych z JJIT do zrobienia opracowania statystycznego nt rynku pracy

1 użytkowników online, w tym zalogowanych: 0, gości: 1