De afgelopen jaren heb ik dankbaar gebruik gemaakt van deze post bij het screen-scrapen van de My Vodafone site, om de hoogte en houdbaarheid van het beltegoed van een stapel UMTS dongels bij te houden. Deze gegevens werden Zabbix ingegooid wat mij automagisch waarschuwde als tegoeden te laag werden of zouden verlopen.
Begin deze maand heeft Vodafone echter haar webste "verbeterd", waardoor het tweede wget commando niet meer werkt: De AJAX inhoud wordt niet geladen.
Ik ben nu al een paar uur aan het kloten, maar krijg het zelf niet aan de praat.
Waar ik nu sta:
Ik wil de gegevens van de volgende pagina scrapen: https://my.vodafone.nl/my...d_en_verbruik/costcontrol (helaas een vodafone login nodig...)
Inloggen en een koekje krijgen gaat nog goed.
Wellicht ten overvloede: Het script draait op een Linux bak.
Daar staat het volgende stuk code dat volgens mij relevant is:
Dit is ongetwijfeld ook relevant:
In Firefox krijg ik de volgende gegenereerde HTML:
Ik vermoed dat ik bij https://my.vodafone.nl/widget moet zijn om mijn data te krijgen, maar hoe vraag ik dat?
Welke held kan mij een duw in de goede richting geven? Een hapklare oplossing is uiteraard ook welkom. Als iemand zich er goed in vast wil bijten, maar geen vodafone nummer en account heeft, kan ik er wel een uitlenen. Stuur hiervoor even een PM.
Ik ben in elk geval erg dankbaar voor alle hulp. De collectie accounts die ik moet checken/loggen is inmiddels opgelopen tot 35, wat de potentie heeft om heel veel meer te worden. Ik wil dit uiteraard niet allemaal handmatig doen.
Begin deze maand heeft Vodafone echter haar webste "verbeterd", waardoor het tweede wget commando niet meer werkt: De AJAX inhoud wordt niet geladen.
Ik ben nu al een paar uur aan het kloten, maar krijg het zelf niet aan de praat.
Waar ik nu sta:
Ik wil de gegevens van de volgende pagina scrapen: https://my.vodafone.nl/my...d_en_verbruik/costcontrol (helaas een vodafone login nodig...)
Inloggen en een koekje krijgen gaat nog goed.
Wellicht ten overvloede: Het script draait op een Linux bak.
Daar staat het volgende stuk code dat volgens mij relevant is:
code:
1
2
3
4
5
6
7
8
9
10
11
| <script> invokeAjaxRequest('BQ', 'es_my vodafone_tegoed en verbruik_costcontrol', 'BQ' ); </script> <div id='portletBQ' > <div class='modBorder'> <div class='modHeader blueBG'><h2>Bezig met ophalen...</h2></div> <div class='modBody' style='text-align: center; color: #ffffff; margin-top: 20px; margin-bottom: 20px'> <img src='/wg20/ff2/img/ajax-loader.gif' /> </div> </div> </div> |
Dit is ongetwijfeld ook relevant:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
| function invokeAjaxRequest(portletName, fromScreen, fromPortlet) { var url = "/widget?widget=RenderPortletWidget&mimetype=text/html&_fs=" + fromScreen + "&_fp=" + fromPortlet; jQuery.noConflict(); jQuery.ajax({ type: "GET", url: url, dataType: "text", cache: false, success: function(data) { jQuery("#portlet" + portletName).html(data); } }); } |
In Firefox krijg ik de volgende gegenereerde HTML:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
| <script> invokeAjaxRequest('BQ', 'es_my vodafone_tegoed en verbruik_costcontrol', 'BQ' ); </script> <div id="portletBQ"><div class="mod4Col"> <div class="modBorder"> <div class="modBody"> <div class="modCopy"> <div class="floatLeft"> <h2 class="h2Title">Tegoed & verbruik voor <!-- key: myvodafone.pcecostcontrol.falcor.prepaid.portlettitle --> 06-11344196</h2> </div> <div class="floatRight"> <h2 class="h2Title">Mei 2013</h2> </div> <div class="clear"> </div> <div class="floatLeft blackTitle paddingtop">Jouw Prepaid-tarief:<!--? php echo ""; ?--><!-- key: myvodafone.pcecostcontrol.falcor.prepaid.subscription -->Mobiel internet op je Laptop</div> <div class="floatRight textAlignRight paddingtop"> <a href="javascript:showAllowedPriceplans('/prive/my_vodafone/toestel_en_instellingen/Prepaid_Wijzigen/Priceplan_Wijzigen');" class="linkFalco"><span class="linkArrorPurble floatRight"></span>Prepaid-tarief wijzigen<!-- key: link.prepaid.pcecostcontrol.upgrade --></a> </div> <div class="clear"> </div> <div class="modFalcor"> <div class="falcTop"> </div> <div class="falcBorder"> <div class="modCopy2col floatLeft"> <p class="blackTitle bold">Nog te besteden<!-- key: myvodafone.pcecostcontrol.prepaid.falcor.main.title --></p> <div class="floatLeft paddingtop"> <p class="darkGreen falcorTitle bold separator-right padMarginReset">€ 33,08</p> </div> <div class="floatLeft separator-left"> <a href="https://opwaarderen.vodafone.nl/VodafoneNLExternalWeb/SSO.do" class="buttonPurble"><span>Nu opwaarderen<!-- key: prepaid.blox.settings.upgraden.falcor.text --></span></a> </div> <div class="clear"> </div> <div style="padding-top:5px" class="grey">nog <!-- key: myvodafone.pcecostcontrol.prepaid.valid.falcor.credit -->239 dagen bruikbaar t/m <!-- key: myvodafone.pcecostcontrol.prepaid.valid.falcor.credit2 -->15 <!-- key: myvodafone.pcecostcontrol.falcor.prepaidash1 -->Januari <!-- key: myvodafone.pcecostcontrol.falcor.prepaidash2 -->2014</div> </div> </div> <div class="falcFooter"> </div> </div> <div class="clear"> </div> <div class="clear"> </div> <div class="floatLeft blackTitle bold">Voordeelbundels<!-- key: header.prepaid.falcor.no.blox --></div> <div class="floatRight paddingtop textAlignRight"> <span class="linkArrorPurble floatRight"></span><a class="linkFalco" href="/my_vodafone/toestel_en_instellingen/prepaid_wijzigen/blox_wijzigen">Bekijk alle voordeelbundels<!-- key: bundle.query.show.all.blox --></a> </div> <div class="clear"> </div> <div class="bold linkFalco paddingtop">Je hebt nog geen BloX voordeelbundels. <!-- key: header.prepaid.no.blox.falcor.text --></div> <p style="padding-top:5px" class="linkFalco">Kijk eens naar onze voordeelbundels voor een goedkope en handige uitbreiding bij je Prepaid tarief.<!-- key: no.active.prepaid.blox.body --> </p> <div class="clear"> </div> <br> </div> </div> </div> <div class="modFooter"> </div> </div> </div> |
Ik vermoed dat ik bij https://my.vodafone.nl/widget moet zijn om mijn data te krijgen, maar hoe vraag ik dat?
Welke held kan mij een duw in de goede richting geven? Een hapklare oplossing is uiteraard ook welkom. Als iemand zich er goed in vast wil bijten, maar geen vodafone nummer en account heeft, kan ik er wel een uitlenen. Stuur hiervoor even een PM.
Ik ben in elk geval erg dankbaar voor alle hulp. De collectie accounts die ik moet checken/loggen is inmiddels opgelopen tot 35, wat de potentie heeft om heel veel meer te worden. Ik wil dit uiteraard niet allemaal handmatig doen.