Website scrapen met form

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • aap
  • Registratie: Januari 2008
  • Laatst online: 14:16
Voor een soort weddenschap wil ik een tooltje maken dat van de bioscopen in mijn woonplaats de informatie over de filmprogramma's verzamelt. Ik ben begonnen in python met de urllib en voor twee bioscopen ging dat vrij eenvoudig. Bij de derde loop ik vast, omdat ik alleen een URL kan vinden die het programma van vandaag geeft, maar niet van een dag verder in de week. Die pagina bevat wel een form met buttons waarmee ik een andere dag kan kiezen (in de browser), maar ik begrijp niet hoe ik vanuit een programma datzelfde kan doen.

Kan iemand mij uitleggen hoe dat in zijn werk zou moeten gaan?

Het gaat om de volgende site: https://www.natlab.nl/programma/. Op deze site zou ik bijv. de bron-html data voor maandag willen kunnen downloaden, i.p.v. die van vandaag.

Disclaimer: dit gaat om een uitdaging in de hobbysfeer. Ik heb geen plannen hier iets commercieels mee te doen, dus een discussie over of scrapen wel of niet legaal is, vind ik hier niet nodig O-)
En ja, ik weet ook dat er al websites zijn die een overzicht per stad en dag naast elkaar zetten, maar ik wil dat zelf doen!

Beste antwoord (via aap op 03-02-2018 12:38)


  • Room42
  • Registratie: September 2001
  • Niet online
Je wilt dus het formulier 'versturen'. Met de Firefox of Chrome browsertools kun je precies zien wat het request is als je handmatig het formulier verstuurt. Dat verzoek wil je dus nabouwen.

edit:
Ah, ik zie dat er helemaal geen (ajax) request gedaan wordt. Dat betekent dat alle gegevens al beschikbaar (geladen) zijn maar dat je ze alleen even uit de code moet filteren. Je hoeft dus helemaal geen formulier te verzenden daarvoor.

[ Voor 39% gewijzigd door Room42 op 03-02-2018 12:34 ]

"Technological advancements don't feel fun anymore because of the motivations behind so many of them." Bron

Alle reacties


Acties:
  • Beste antwoord
  • 0 Henk 'm!

  • Room42
  • Registratie: September 2001
  • Niet online
Je wilt dus het formulier 'versturen'. Met de Firefox of Chrome browsertools kun je precies zien wat het request is als je handmatig het formulier verstuurt. Dat verzoek wil je dus nabouwen.

edit:
Ah, ik zie dat er helemaal geen (ajax) request gedaan wordt. Dat betekent dat alle gegevens al beschikbaar (geladen) zijn maar dat je ze alleen even uit de code moet filteren. Je hoeft dus helemaal geen formulier te verzenden daarvoor.

[ Voor 39% gewijzigd door Room42 op 03-02-2018 12:34 ]

"Technological advancements don't feel fun anymore because of the motivations behind so many of them." Bron


Acties:
  • 0 Henk 'm!

  • MSteverink
  • Registratie: Juni 2004
  • Laatst online: 24-09 15:32
Ik wil je graag wijzen op Curl (https://ec.haxx.se/), een programma dat alles (maar toch wel heel veel) kan wat een browser kan. Vooral https://ec.haxx.se/http-post.html en https://ec.haxx.se/http-put.html zijn voor jou van belang.

Acties:
  • +1 Henk 'm!

  • aap
  • Registratie: Januari 2008
  • Laatst online: 14:16
Room42 schreef op zaterdag 3 februari 2018 @ 12:27:
Je wilt dus het formulier 'versturen'. Met de Firefox of Chrome browsertools kun je precies zien wat het request is als je handmatig het formulier verstuurt. Dat verzoek wil je dus nabouwen.

edit:
Ah, ik zie dat er helemaal geen (ajax) request gedaan wordt. Dat betekent dat alle gegevens al beschikbaar (geladen) zijn maar dat je ze alleen even uit de code moet filteren. Je hoeft dus helemaal geen formulier te verzenden daarvoor.
Verdorie, je hebt helemaal gelijk! Als ik "grep'" op 'daysfromnow zou ik inderdaad moeten kunnen vinden op welke tijden de komende dagen een film speelt.

Bedankt!