utiliser wget pour remplir un formulaire de page Web

0

J'essaie d'utiliser wgetpour télécharger l'historique des 100 derniers jeux pour le keno à partir du site Web de la loterie MO .

Plage d'échantillonnage -> 1420698-1420797

La page Web nécessite de saisir une plage, puis de cliquer sur un bouton. J'essaie d'automatiser le processus mais je n'ai pas beaucoup de succès. Vous trouverez ci-dessous une liste des valeurs que j'ai extraites de la page liée ci-dessus.

<form name="winnersForm">
  <input type="text" name="drawnumber" size="8" value=""/>
  <input type="submit" value="Display Winning Number" onClick="window.open('../club_keno/club_keno_drawings.html')/>

Je ne suis pas sûr que wget puisse faire ce genre de chose, car cela peut nécessiter du code Java tel qu'un numéro d'identification de session. J'ai essayé de tout analyser en une seule chaîne, puis j'ai utilisé la commande shell pour l'exécuter, mais je n'ai rien trouvé d'autre que la page principale de mon téléchargement, pas de chiffres. J'ai lu le manuel et cherché des exemples mais je n'arrive pas à trouver quoi que ce soit pour ce que j'essaie de faire. J'ai écrit un programme qui enlève toutes les balises et formate les données dans un fichier texte que j'utilise pour d'autres jeux.

Toute aide serait grandement appréciée.

mannequin-1
la source
Les sites stackexchagnes gâchent le code sauf s'ils sont dans les balises de code. Je l'améliorerais, mais il semblerait qu'il y ait une modification qui est toujours en attente, la mauvaise mise en forme de votre message est vraiment un problème de
stackexchange
De plus, vous n'avez même pas utilisé les crochets avec le code de formulaire que vous avez écrit, je ne pense pas que les sites stackexchange les mangent aussi, si c'est le cas, alors le formatage est très médiocre de votre part aussi. Pas même le formatage, mais votre code lui-même vous est destiné pour l'écrire correctement.
Barlop
vous n'avez pas non plus spécifié si la méthode de formulaire est get ou post, j'imagine get qui est default. Cela peut aider. philihp.com/blog/2008/using-wget-with-http-get-parameters
barlop

Réponses:

0

Le serveur ne semble pas vraiment effectuer de vérification ou de validation de session et je peux obtenir tous les chiffres.

Depuis votre navigateur copy as cURL(voir ici ). Supprimez les en-têtes superflus et ajoutez le filtrage.

J'ai fini avec:

curl 'http://www.molottery.com/gameHistory.do?method=ckDisplay&cmt=true' -H 'Accept-Encoding: gzip, deflate' -H 'Accept-Language: en-US,en;q=0.8' -H 'Content-Type: application/x-www-form-urlencoded' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8' --data 'drawnumber=1420698-1420797' --compressed | grep td

qui se traduit par:

                    --------
                    -----------
                 <td align="center">52</td><td align="center">44</td><td align="center">10 - 14 - 20 - 21 - 24 - 27 - 28 - 32 - 33 - 39 -
                            41 - 42 - 44 - 45 - 46 - 48 - 52 - 57 - 58 - 72</td>
                            <td align="center">1</td>
                            <td align="center"> $1,077</td><td align="center"> $5,966</td><td align="center"> $15,210</td></tr>
                    <td>1420789</td>
                    <td>07-06-16</td>
                    --------
                    -----

Maintenant, tout ce que votre script doit faire est de mettre drawnumberà jour la demande.

Je n'ai pas essayé avec wget, mais le processus devrait bien fonctionner.

Jedi
la source