sjerpbouwtsites / rockers-concertagenda

1 stars 1 forks source link

First attempt at adding em2 #230

Closed hugobuddel closed 8 months ago

hugobuddel commented 8 months ago

EM2 has the occasional metal concert.

Still TODO:

Both can be found in the .event-data div in the single page, and looks like this:

     <div class="event-data">
         <div class="event-data-left">
             <span>Datum: <span class="event-value">09/02</span></span>
             <span>Deur open: <span class="event-value"> 21:00</span></span>
        </div>
        <div class="event-data-right">
            <span>Prijs:  <span class="event-value"> €15</span></span>
            <span>Genre: <span class="event-value"> Heavy Metal, Heavy Rock, Speed Metal</span></span>
        </div>
     </div>

However, there aren't that many events at EM2, so not sure it is worth it.

I don't directly know how to query for these spans. Getting to .event-data-left (or right) is easy, and then I suppose it should be possible to get the 2nd span, and then the .event_value in that. But I don't know how to do that.

FWIW, I based em2.js on oosterpoort.js, I hope that was a good choice.

hugobuddel commented 8 months ago

Ik lijk wel een stalker, maar ik had me gewoon een keer op je youtubekanaal geabonneerd en Het Algoritme attendeerde me op de nieuwe walkthrough: https://www.youtube.com/watch?v=uK80fal0bjE .

Ik moet zeggen dat het best wel zichzelf wees allemaal. Als ik het kan volgen, met vrijwel geen node of javascript ervaring, dan zit het best goed in elkaar. Wat misschien nuttig zou zijn is een 'schoon' voorbeeld pull request met daarin alleen wat nodig is om een specifieke nieuwe locatie toe te voegen, zonder de scrapers ook te runnen. Zeg maar, een PR met alleen die code die met de hand is ingetypt.

Een beetje uitleg in text vorm zou mij ook helpen, maar de video werkt ook. Misschien zal ik zelf wat schrijven in de context van #229 . Bedankt voor info over hoe het force commando en % teken en de temp directory werkt. Ik begreep niet helemaal wat er wanneer gebeurt.

Verder kreeg ik de dirtyLog() niet altijd goed werkend. Ik had het idee dat die output soms wordt 'opgegeten' binnen de scraper threads. Dus ik gebruikte meestal het simpelere console.log() om te debuggen. Het meeste tijd heb ik denk ik besteed aan het uitzoeken waar en hoe de events gefilterd werden.

W.b.t. EM2, naar aanleiding van de video: het belangrijkste om toe te voegen aan het todo lijstje hierboven is het parsen van de longtext. Ik had inderdaad niet bewust gezien dat daar een aparte directory met scripts voor was.

Voor die tijden weet ik niet hoe ik de selector moet schrijven om de HTML elementen te vinden. Want ik copy-paste-cargo-cult al mijn javascript zonder na te denken... Ik zal er wat moeite instoppen dat wat beter te leren.

Dus:

sjerpbouwtsites commented 8 months ago

Let's go :) Ik heb even m'n werk aan de nieuwe achterkant en db neergelegd om de master thread te draaien. Kan ik meteen jouw werk meenemen

sjerpbouwtsites commented 8 months ago

@hugobuddel wat genres betreft. Dit is niet consistent uit sites te halen. Dus dit haal ik in de eerste plaats van: metal encyclopedie spotify wikipedia Hier zie je hoe (momenteel) ongeveer de database van goedgekeurde artiesten eruit komt te zien:

Ik zal ook even kijken of ik wat commentaar in je code achter kan laten

hugobuddel commented 8 months ago

Bedankt voor de uitgebreide review! Ik laat dit wel even open staan in m'n github notificaties, dan kom ik er binnenkort wel aan toe om de verbeteringen door te voeren

sjerpbouwtsites commented 7 months ago

@hugobuddel ik liep vast bij het draaien vorige week. Da's het probleem met scrapers.. die moet je blijven updaten. Dus dat ben ik nu aan het doen.

hugobuddel commented 7 months ago

Dank je!

Voel je ook vrij om de em2 scraper uit te zetten totdat ik het fix. Ik heb die gemaakt, dus voel me er dan ook verantwoordelijk voor om het te onderhouden. Of op z'n minst jou niet extra werk te bezorgen.