Bonjour,
Savez vous s'il est possible avec CURL de récupérer une info affichée sur une page web avec CURL.
Typiquement ça serait récupérer à la demande l'info du nombre d'annonce sur leboncoin.fr.
Quand on se connecte sur le site il dit "Trouvez la bonne affaire parmi 25 340 788 petites annonces", et moi j'aimerai sur un autre site récupérer le nombre d'annonce qui est affiché sur la page principale.
Merci de votre aide
# avec curl|wget grep awk....
Posté par MonsieurPaulLeBoulanger . Évalué à 1.
tu peux greper la page obtenue sur "Trouvez la bonne affaire parmi" pour n'avoir plus que la ligne contenant la valeur et avec 2 awk tu obtiens ce que tu veux.
Ce n'est pas forcément très pérenne, si la page change un peu, cela peut ne plus fonctionner.grep "Trouvez la bonne affaire parmi" TON_FICHIER | awk -F">" '{ print $3 }' | awk -F"p" '{ print $1 }'
[^] # Re: avec curl|wget grep awk....
Posté par Orwell . Évalué à 1.
Merci. En effet j'avais pas pensé à ça.
# curl et xmlstarlet ou un truc dans le genre
Posté par NeoX . Évalué à 2.
toujours curl ou wget pour recuperer la page,
puis awk/grep et consort comme expliqué plus haut,
mais il y a aussi des outils (je ne connais que de nom) pour extraire une branche de la page xml/html
trouver une balise et recuperer la valeur.
pour ce qui est du changement de format de la page web, il faut peut-etre faire plus simple,
plutot que la page web, peut-etre que l'URL du flux RSS te donnera aussi l'info, et ce flux devrait etre moins sensible au changement d'apparence du site
# Avec w3m et grep
Posté par zipe31 . Évalué à 1.
Salut,
$ w3m -dump -T text/html https://www.leboncoin.fr/ | grep -Po 'Trouvez la bonne affaire parmi \K[^[p]*'
25 275 437
[^] # Re: Avec w3m et grep
Posté par palm123 (site web personnel) . Évalué à 3.
ou avec un peu d'analyse du HTML, avec Python 2.7, requests et BeautifulSoup
Un script Python de quelques lignes
Ce qui peut donner
$ python leboncoin.py
25 282 849
ウィズコロナ
[^] # Re: Avec w3m et grep
Posté par Orwell . Évalué à 1.
Salut PALM123,
Peux tu m'expliquer la dernière ligne ton code python stp?
[^] # Re: Avec w3m et grep
Posté par palm123 (site web personnel) . Évalué à 2. Dernière modification le 12 septembre 2016 à 13:59.
Oui, j enlève les 17 derniers caractéres, c'est à dire
petites annonces
ウィズコロナ
[^] # Re: Avec w3m et grep
Posté par Orwell . Évalué à 1.
Ah d'accord,
mais comment sais tu que ça va tomber pil poil sur la ligne que tu veux?
Car si je vais sur leboncoin.fr rien que sur la pages d'accueil y a pas mal de lignes.
[^] # Re: Avec w3m et grep
Posté par NeoX . Évalué à 2.
c'est la magie de la "beautifulsoup" ?
:D
[^] # Re: Avec w3m et grep
Posté par palm123 (site web personnel) . Évalué à 2. Dernière modification le 12 septembre 2016 à 20:04.
Ah je me doutais que j'aurais mieux fait de commenter mon script de 2 lignes (les 2 premières lignes servent à dire que c'est une script Python, on peut mettre tous les import sur une seule ligne, et on peut grouper les 3 dernières lignes en une seule, mais c'est peu lisible).
Donc je vais sur le site leboncoin, je regarde le code source de la page (CTRL U avec Firefox par exemple), je cherche
trouver la bonne affaire parmi
il n'y en a qu'un, et donc je vois
BeautifulSoup a créé un arbre facile à utiliser, le plus simple, tu lances un prompt Python (python, bpython, Ipython…), tu tapes une à une les commandes, et cela donne
la commande
dir(xxx)
montre les méthodes disponibles, et donc j'aitext
qui me renvoie juste le texte
ウィズコロナ
[^] # Re: Avec w3m et grep
Posté par Orwell . Évalué à 1. Dernière modification le 13 septembre 2016 à 00:36.
Ok merci je crois que j'ai compris (en gros).
Dans ta dernière ligne de code H1 fait référence à la balise "" et span à "".
Cool merci
[^] # Re: Avec w3m et grep
Posté par Orwell . Évalué à 1.
Nickel merci
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.