Partage
  • Partager sur Facebook
  • Partager sur Twitter

Code source d'un site distant dans une variable

Sujet résolu
6 octobre 2015 à 0:03:28

Bonjour ma question est simple mais depuis des heures je ne trouve aucune réponse.

Je souhaite copier le code html d'un site distant (type google.com) dans une variable et ensuite extraire des données de cette variable (la partie extraction est déjà faite).

Je n'arrive pas à trouver un code qui me permette de faire ça. Est ce que que quelqu'un sait comment faire. Merci :)

  • Partager sur Facebook
  • Partager sur Twitter
6 octobre 2015 à 9:39:40

Salut, en JS te ne pourras (surêment) pas faire du cross domain.

Je m'explique le seul moyen de récupérer les données (le site) c'est de faire une requête en AJAX, sauf que tu ne peux faire de l'AJAX que sur le même domaine (adresse). Tu peux autoriser (toi quand tu code ton site) d'accepter le cross-domain. Sauf que ce n'est pratiquement jamais le cas.

Le seul moyen c'est de faire un bridge (pont) tu as une page côté serveur qui va récupérer ta page distante. Et tu auras (si tu veux) ton script JS qui va interroger cette page.

  • Partager sur Facebook
  • Partager sur Twitter
6 octobre 2015 à 11:08:22

Salut,

je sais pas si ça pourra t'aider mais il existe une fonction js qui récupère les éléments html. 

https://developer.mozilla.org/fr/docs/Web/API/Element/innertHTML

Donc si tu peux récupérer le code d'une page HTML en spécifique tu fait un fichier "récupération html" et tu le met dans la fonction.

Ca c'est pour un cas ou tu sais déjà quel html tu veux récupérer mais si tu veux faire du "live" alors je ne saurai te dire et galileo a bien résumé la chose.

-
Edité par jusle 6 octobre 2015 à 11:09:12

  • Partager sur Facebook
  • Partager sur Twitter
6 octobre 2015 à 11:36:06

Merci de toutes vos réponses.

Alors j'ai pas mal avancé, j'ai fait un script php car effectivement en ajax ou javascript ce n'est pas possible. Le code php est tout simple :

<?php
header('Content-type: text/plain');
$url = $_GET['url'];
$homepage = file_get_contents($url);
echo $homepage;
?>

Il me récupère bien un code source par contre il ne me récupère pas le code html correct de la page en question. En effet je souhaite interroger une page avec des paramètres type ?variable=valeur et il fait comme si aucun paramètre n'était entré quand il me copie le code source.

Si quelqu'un a une solution je suis preneur.

Cordialement.

PS : La page javascript qui interroge et copie le code-source de cette page php est faite et fonctionne, il me manque juste un code-source "valable".

-
Edité par VinceLs 6 octobre 2015 à 11:37:42

  • Partager sur Facebook
  • Partager sur Twitter
6 octobre 2015 à 11:42:02

As-tu bien vérifié que $_GET['url'] contient ce que tu veux ? Pour un projet de requête personnalisée sur big G, j'ai utilisé file_get_contentssur 'https://www.googleapis.com/customsearch/v1?' . $mesParams et ça marchait très bien...

  • Partager sur Facebook
  • Partager sur Twitter

Pas d'aide concernant le code par MP, le forum est là pour ça :)

6 octobre 2015 à 12:04:39

Mon dieu tu as raison, incroyable je n'aurais jamais pensé que le problème pourrait venir de là.

Merci infiniment normalement ça devrait marcher correctement, il me reste juste à comprendre comment faire pour qu'il ne me coupe pas l'url en paramètre :)

  • Partager sur Facebook
  • Partager sur Twitter
7 octobre 2015 à 19:47:41

Ok tout le est script terminé, merci infiniment.
  • Partager sur Facebook
  • Partager sur Twitter
1 décembre 2022 à 11:23:48

bonjour mes collegues j'ai besoin de faire l'amorçage d'un compte cdonc

un bien qui coute 5000$ et je veux que le logiciel commence a soutirer l'argent par année pendant 5 ans

  • Partager sur Facebook
  • Partager sur Twitter
1 décembre 2022 à 11:41:51

Bonjour,

Le message qui suit est une réponse automatique activée par un membre de l'équipe de modération. Les réponses automatiques leur permettent d'éviter d'avoir à répéter de nombreuses fois la même chose, ce qui leur fait gagner du temps et leur permet de s'occuper des sujets qui méritent plus d'attention.
Nous sommes néanmoins ouverts et si vous avez une question ou une remarque, n'hésitez pas à contacter la personne en question par Message Privé.

Pour plus d'informations, nous vous invitons à lire les règles générales du forum

Déterrage

Citation des règles générales du forum :

Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.

Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre.
En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.

Au lieu de déterrer un sujet il est préférable :

  • soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
  • soit de créer un nouveau sujet décrivant votre propre contexte
  • ne pas répondre à un déterrage et le signaler à la modération

Je ferme ce sujet. En cas de désaccord, me contacter par MP.

  • Partager sur Facebook
  • Partager sur Twitter

Pas d'aide concernant le code par MP, le forum est là pour ça :)