Beste Tweakers,
Momenteel zit ik met een probleem bij het ophalen van data van een website.
Wat ik aan het proberen ben, is mijn rooster ophalen van de site waar die opstaat.
Helaas voor mij, moet deze site gebruik maken van JavaScript navigatie.
Wat ik geprobeerd heb en nog steeds aan het proberen ben, is het oplossen van dit probleem door hetgeen wat de JavaScript functie doet te emuleren in Python.
Het probleem wat ik hier ervaar, is dat Mechanize de submit() uitvoert met een submit-knop die in het formulier staat. Op de pagina waar ik (of de browser) zit, heb ik echter last van het feit dat de enige submit-knop de 'terug' knop is. Daardoor gaat mechanize.Browser() alleen maar een pagina terug. Helaas.
Momenteel ben ik door de documentatie van Mechanize aan het spitten en workarounds aan het zoeken. Wat ik me nu afvraag is of het niet simpeler is om bijvoorbeeld Internet Explorer aan te sturen via de COM interface (of FireFox - PyXPCOM).
Heeft iemand hier eerder te maken mee gehad en welke keuzes zijn er daar gemaakt?
Momenteel zit ik met een probleem bij het ophalen van data van een website.
Wat ik aan het proberen ben, is mijn rooster ophalen van de site waar die opstaat.
Helaas voor mij, moet deze site gebruik maken van JavaScript navigatie.
Wat ik geprobeerd heb en nog steeds aan het proberen ben, is het oplossen van dit probleem door hetgeen wat de JavaScript functie doet te emuleren in Python.
JavaScript:
1
2
3
4
5
6
| function foo(bar, baz) { var qux = document.forms["qux"]; qux.__bar.value = bar.split("#").join("$"); qux.__baz.value = baz; qux.submit(); } |
Python:
1
2
3
4
5
| def foo(browser, bar, baz): qux = browser.select_form("qux") browser.form["__bar"] = "$".join(bar.split("#")) browser.form["__baz"] = baz browser.submit() |
Het probleem wat ik hier ervaar, is dat Mechanize de submit() uitvoert met een submit-knop die in het formulier staat. Op de pagina waar ik (of de browser) zit, heb ik echter last van het feit dat de enige submit-knop de 'terug' knop is. Daardoor gaat mechanize.Browser() alleen maar een pagina terug. Helaas.
Momenteel ben ik door de documentatie van Mechanize aan het spitten en workarounds aan het zoeken. Wat ik me nu afvraag is of het niet simpeler is om bijvoorbeeld Internet Explorer aan te sturen via de COM interface (of FireFox - PyXPCOM).
Heeft iemand hier eerder te maken mee gehad en welke keuzes zijn er daar gemaakt?