Zeph Le 11/03/2017 à 23:43 Tu peux essayer directement dans ton shell :
curl -s -H 'Accept-Language: fr' 'http://steamcommunity.com/market/search?q=M4A4+|+Espace+d%C3%A9sol%C3%A9' |
sed -nr 's@.*<span class="normal_price">([^<>]*)</span>.*@\1@p'
Le -H 'Accept-Language: fr' sert à se faire passer pour un navigateur configuré en français, vu que visiblement la recherche en dépend (on obtient aucun résultat sinon).

All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez
par ici :)
Bon ben merci Kevin, alors ça serait plus QNetworkRequest alors, on va voir ça ^^
QWebEnginePage, c'est pour afficher la page web. Pour récupérer le HTML et scanner directement sa source, c'est totalement overkill, ça te fait une dépendance de la QtWebEngine (donc toute l'usine à gaz Chromium) et aussi de QtWidgets. Ce que tu cherches est bien QNetworkRequest.
Oh non, comment fait-on ça ? Evidemment, c'est complètement ce que je cherche !
Ton lien n'est pas un truc officiel, je pense, le nom de domaine n'est pas le même que celui du lien de RHJPP.

<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)
<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant
flan -> je confirme, ça n'a rien d'officiel. Ils maintiennent juste une API stable, hébergent le service, et le font payer.
RHJPP -> le mystère s'épaissit. Les URLs valides se créent dans ta tête comem ça, par enchantement ? Par intuition ??
La liste des commandes, tu l'imagines, c'est tout, et ça colle ?
Et qu'appelles-tu un petit volume ? J'imagine que pour un usage perso, je serai toujours un petit volume, pas comme un site de vente de skin par exemple ?
Moui. Pourquoi dépendre d'un service tiers quand on peut faire la même chose soi-même de manière simple ?

—
Zeroblog —
« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » —
Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » —
GT Turbo RHJPP Le 12/03/2017 à 15:46 Il ne faut pas.
Déjà, il faut voir s'il y a des services officiels qui donnent ce qu'on cherche. Si ça n'existe pas, on peut regarder chez les tiers s'ils offrent des garanties de disponibilité et de pérennité de la fonctionnalité et que le prix demandé est acceptable (ici, il faut que ce soit gratuit). Une autre solution, c'est de le faire soi-même, mais il faut être conscient qu'il va sans doute être nécessaire de revenir régulièrement dessus pour s'adapter aux changements.
reply->isFinished() ne va pas pouvoir s'activer magiquement si tu ne fais pas tourner de boucle d'évènements. Et même si tu en faisais tourner une dans un autre thread, voire avec quelque chose comme QCoreApplication::processEvents() dans la boucle, attendre avec un busy-wait est une très mauvaise idée niveau performance, ça bouffe du CPU et donc du courant pour rien.
La solution la plus propre est de travailler en asynchrone avec le signal finished. Tu peux connecter un lambda C++11 à ce signal, ou alors, si tu préfères, un bon vieux slot. Ensuite, tu retournes à la boucle d'évènements de l'application qui fera son travail et activera ton lambda ou slot au moment opportun.
Si tu veux faire en super-crade, tu peux mettre:
while (!reply->isFinished()) QCoreApplication::processEvents();
Tu boufferas 100% CPU, mais ça devrait fonctionner.