Bonjour,
est-il possible d'aller d'un point A à un point B dans une iframe.
Je m'explique, j'aimerais reprendre un bout de page d'un autre site, mais qu'une infime partie, en sachant qu'elle est aléatoire.
Ce sont des scores de matchs et des fois il y a 10 matchs, des fois que 5.
Donc j'aimerais reprendre que la partie des matches sans ce qui suit.

Merci pour vos réponses
Salut

Un iframe te renvoi l’entièreté de la page en question que tu appelé.
Si tu veux afficher qu'une partie de l'iframe, tu dois créer une page qui contient que cette partie, et l’appelé dans ton iframe.

Ou au pire, tu ajoute l'ancre à la fin de ton url pour cibler l'affichage en entrée sur une partie de l'iframe.
Tu n'a aucun droit sur un iframe, et pour comprendre une fois pour toute,lorsque tu va par exemple sur un site avec une publicitée dans la page, il y a fort à penser que c'est un iframe.
Le site web de l'iframe ,disons par exemple Amazone. Le webmaster du site que tu visite ne peux voir ce que fait Amazone !
Lui vois ses Cookies , mais ne peux lire ceux qu'Amazone peux lire dans son Iframe. tes cookies Amazone et donc va t'aficher le vélo que tu a été voir sur amazone par exemple.
Donc lorsque tu mets un iframe d'un site, tu ne peux pas savoir ce qu'il y afiche et dans l'exemple que je t'ai donné personne ne verra la même page (dans l'iframe !!)
Et l'eau,

@Jencal / Jean-Pierre Bruneau : Oui mais non.... (pour récupérer du contenu)
python3 :

# coding:utf-8
from bs4 import BeautifulSoup
import requests
import urllib.request

url = "https://www.alsacreations.com/"
html = requests.get(url)

dom = BeautifulSoup(html.text, features="html.parser")
h3s = dom.findAll('h3')
print([h3.text for h3 in h3s])


php

<?php 
    require_once 'simple_html_dom.php';

    $url = "https://www.lequipe.fr/Football/ligue-1/page-calendrier-resultats";
    $html = file_get_html($url);
    $data = $html->find('.container__main'); //

    foreach($data as $d){
       echo $d->outertext . '<br>'; 
    }

?>


Modifié par niuxe (10 Oct 2019 - 21:57)
J'ai appris un truc;

merci a toi niuxe
Modifié par JENCAL (11 Oct 2019 - 10:09)
niuxe a écrit :
Et l'eau,
@Jencal / Jean-Pierre Bruneau : Oui mais non.... (pour récupérer du contenu)

Ah oui c'est nouveau tu as vu un IFRAME chez nous Smiley confus
Non la tu parle du pompage d'un site c'est ultra connu ! mais même les exécutable en C++ qui te pompe un site n'y arrivent pas, as-tu compris ce que j'explique ?

Si non j' arêtes d'aller sur internet si un IFRAME pointe un site porno ...
Pino13 a écrit :

....
Je m'explique, j'aimerais reprendre un bout de page d'un autre site, mais qu'une infime partie, en sachant qu'elle est aléatoire.
Ce sont des scores de matchs et des fois il y a 10 matchs, des fois que 5.
Donc j'aimerais reprendre que la partie des matches sans ce qui suit.
.....


Jean-Pierre-Bruneau a écrit :

Non la tu parle du pompage d'un site c'est ultra connu ! mais même les exécutable en C++ qui te pompe un site n'y arrivent pas, as-tu compris ce que j'explique ?

Si non j' arêtes d'aller sur internet si un IFRAME pointe un site porno ...


Oui, tu as raison.... on ne peut pas parser un iframe et en récupérer ce que l'on veut ? Smiley hum la preuve ci-dessous :
- source de l'iframe
- code source
- resultat

la fin justifie les moyens !

Et puis si file_get_contents ne fonctionne pas (config php/apache-nginx), on peut utiliser curl et je suis quasi certain qu'il y a d'autres solutions comme récupérer le contenu de la source en ligne de commande (wget et utiliser shell_exec pour php (de mémoire) ou la méthode system du module os en Python).

Jean-Pierre-Bruneau a écrit :

Ah oui c'est nouveau tu as vu un IFRAME chez nous Smiley confus

ah bon, tu es modo ou admin ?

@Jencal : de rien. C'était un peu le but Smiley smile
Modifié par niuxe (12 Oct 2019 - 11:22)
niuxe a écrit :




Oui, tu as raison.... on ne peut pas parser un iframe et en récupérer ce que l'on veut ? Smiley hum la preuve ci-dessous :

Bon je vois que tu veux me mettre en erreur... ne discutons pas si c'est le cas .
A 80 ans je ne me prend pas pour un de votre équipe, escuses moi,, si je dis chez nous, c'est un compliment depuis que je suis fidèle ici, je me sent chez moi (j'avais un autre pseudo avant...) bon d'accord j'aurais du dire chez vous .. merci l'accueil.
Quand à ta démo je voudrais bien que tu me la montre pas en image, mais en code ! pour avoir jeté un coup d’œil, tu appel un iframe qui pointe sur le site lui même ! essai de faire ça ailleurs tu as le choix prends nous un bon site bourré d'iframe .. des vrais.. tu verras si j'avais raison ou pas, du reste tu sais bien sur que dans l'iframe, le détenteur de cet espace lit ses propres cookies sur ton micro et n'a aucun accès bien sur aux cookies du site qui l'accueil .J'enseignait cela déjà en 1991 .. mais bon. c'est à toi d'y penser sans a priori !
Allez bonne semaine.
Jean-Pierre-Bruneau a écrit :

Bon je vois que tu veux me mettre en erreur... ne discutons pas si c'est le cas .
A 80 ans je ne me prend pas pour un de votre équipe, escuses moi,, si je dis chez nous, c'est un compliment depuis que je suis fidèle ici, je me sent chez moi (j'avais un autre pseudo avant...) bon d'accord j'aurais du dire chez vous .. merci l'accueil.


Parce que tu es dans l'erreur pour la problématique que rencontre Pino13. Je viens sur Alsacreations pour donner un coup de pouce. C'est tout. Si je suis en erreur, je fais mon mea culpa. Mais là pour le coup, bah non puisque ça fonctionne.... Le problème, Pino13 ne donne pas la source de son iframe. Mais à priori, ce n'est pas un gros problème sauf (voir plus bas pourquoi)


Jean-Pierre-Bruneau a écrit :

Quand à ta démo je voudrais bien que tu me la montre pas en image, mais en code ! pour avoir jeté un coup d’œil, tu appel un iframe qui pointe sur le site lui même ! essai de faire ça ailleurs tu as le choix prends nous un bon site bourré d'iframe .. des vrais.. tu verras si j'avais raison ou pas, du reste tu sais bien sur que dans l'iframe, le détenteur de cet espace lit ses propres cookies sur ton micro et n'a aucun accès bien sur aux cookies du site qui l'accueil .J'enseignait cela déjà en 1991 .. mais bon. c'est à toi d'y penser sans a priori !
Allez bonne semaine.


Tu vas sur la page source où tu peux paramétrer une iframe, tu récupères l'url de la valeur générée de l'attribut src. Pour finir, tu fais un file_get_contents de cette url.... Magique, ça fonctionne....

On s'en moque des cookies. Ce n'est pas ça qui nous interresse. On se moque des restrictions de l'hébergeur de la page html (iframe). On se moque de la pléthore d'iframe qui peut y avoir sur une page puisque c'est seulement une source à parser. On est tous les d'accords qu'une iframe a des restrictions. Mais ce n'est que du contenu html (donc récupérable depuis l'extérieur).... Là où ça deviendrait problématique, le contenu serait généré par du js (Backbone/VueJS/React/requête ajax/etc.). Et encore, il doit bien y avoir une solution avec ce genre de petite chose... Or là, ce n'est pas le cas (mon exemple).

Le réel souci en utilisant cette technique, est que si l'hébergeur de la page change la structure, ton script peut casser. Il est plus intéressant de se connecter sur une api et d'en récupérer le contenu pour créer ta propre structure. Il y a surement ça pour le foot.
Modifié par niuxe (15 Oct 2019 - 23:40)
Je n'ai pas réussi mais je te crois sur parole, ça doit-être l'age Smiley ohwell
En tout cas on voit que tu as travaillé le sujet, je vais t'embaucher Smiley smile
Jean-Pierre-Bruneau a écrit :
Je n'ai pas réussi mais je te crois sur parole, ça doit-être l'age Smiley ohwell
En tout cas on voit que tu as travaillé le sujet, je vais t'embaucher Smiley smile


Il faut penser une chose, si le contenu est visible sur navigateur, c'est possible de récupérer le contenu. Pour l'embauche, je suis pas dispo puisque je bosse en ce moment.

Bonne soirée à toi Smiley smile
Modifié par niuxe (15 Oct 2019 - 23:45)