Récupérer page web et la traiter

Fermé
flo39400 Messages postés 596 Date d'inscription mardi 8 avril 2008 Statut Membre Dernière intervention 9 septembre 2021 - 10 sept. 2017 à 19:49
dugenou Messages postés 6087 Date d'inscription mercredi 19 janvier 2005 Statut Contributeur Dernière intervention 30 juillet 2021 - 11 sept. 2017 à 09:29
Bonjour,

L'idée est de récupérer un article sur un site qui envoie des données en RSS, afin de prendre le texte et crée sont propre article en hors ligne.

Le seule problème je sais vraiment pas comment faire car j'ai une page complète html php js,....


Comment faire pour filtré tous ces éléments et récupérer seulement ce que j'ai besoin tel que le text et l'illustration.


Merci d'avance.


$homepage = file_get_contents('http://www.01net.com/actualites/geforce-gtx-1080-mini-itx-gigabyte-est-content-d-avoir-la-plus-petite-1250715.html', FILE_USE_INCLUDE_PATH);
echo $homepage;
//Voila une page complète qui déforme mon style que j'ai sur mon site.


A voir également:

1 réponse

dugenou Messages postés 6087 Date d'inscription mercredi 19 janvier 2005 Statut Contributeur Dernière intervention 30 juillet 2021 1 451
10 sept. 2017 à 22:39
Bonsoir,

J'avais ce problème, voici la solution que j'ai utilisée :

https://forums.commentcamarche.net/forum/affich-34109417-occurence-dans-chaine-de-caracteres
0
flo39400 Messages postés 596 Date d'inscription mardi 8 avril 2008 Statut Membre Dernière intervention 9 septembre 2021 21
10 sept. 2017 à 22:49
Bonsoir, merci de votre réponse.

J'ai essayer comme cela :

$homepage = file_get_contents('http://www.01net.com/actualites/geforce-gtx-1080-mini-itx-gigabyte-est-content-d-avoir-la-plus-petite-1250715.html', FILE_USE_INCLUDE_PATH);
$annonces = substr($homepage, strpos($homepage, '<div class="module mod_wistr3_annonces">'), -2145);

echo $annonces;



Résultat visuellement j'ai rien qui change j'ai la totalité du site et sa modifie le css de mon menu comme avant....
0
dugenou Messages postés 6087 Date d'inscription mercredi 19 janvier 2005 Statut Contributeur Dernière intervention 30 juillet 2021 1 451 > flo39400 Messages postés 596 Date d'inscription mardi 8 avril 2008 Statut Membre Dernière intervention 9 septembre 2021
Modifié le 11 sept. 2017 à 06:51
Bonjour,

Tu as repris mon code sans l'adapter à ton cas.

Il faut déterminer le début et la fin de la partie de code HTML à capturer.

Pour le début, tu peux utiliser une partie de code particulière, dans ton cas, peut-être :

<div class="col-xs-12 col-sm-12 col-md-8">
                    <h1 itemprop="headline"  class="title-ultra titre-article text-center">
                        GeForce


Il faut faire des tests.

Je suppose que le décompte des caractères pour déterminer la fin de la partie de code HTML à capturer n'est pas "-2145" comme dans mon exemple, il faut décompter celui correspondant à la page concernée et l'affiner si besoin.

Ensuite, concernant le CSS, il faut créer une ou des "class" dans ta feuille de styles en reprenant celles présentes dans la partie de code HTML que tu captures, afin d'y appliquer ton propre style.
0
dugenou Messages postés 6087 Date d'inscription mercredi 19 janvier 2005 Statut Contributeur Dernière intervention 30 juillet 2021 1 451 > dugenou Messages postés 6087 Date d'inscription mercredi 19 janvier 2005 Statut Contributeur Dernière intervention 30 juillet 2021
Modifié le 11 sept. 2017 à 08:15
D'après mon décompte, avec Geany, la fin de la partie de code à capturer serait "-53349". Ce décompte est à affiner après quelques tests.

Tu peux déjà essayer ceci :

$homepage = file_get_contents('http://www.01net.com/actualites/geforce-gtx-1080-mini-itx-gigabyte-est-content-d-avoir-la-plus-petite-1250715.html', FILE_USE_INCLUDE_PATH);
$annonces = substr($homepage, strpos($homepage, '<div class="col-xs-12 col-sm-12 col-md-8">'), -53349);

echo $annonces;
0
dugenou Messages postés 6087 Date d'inscription mercredi 19 janvier 2005 Statut Contributeur Dernière intervention 30 juillet 2021 1 451 > dugenou Messages postés 6087 Date d'inscription mercredi 19 janvier 2005 Statut Contributeur Dernière intervention 30 juillet 2021
Modifié le 11 sept. 2017 à 09:47
J'ai testé avec ceci :

$homepage = file_get_contents('http://www.01net.com/actualites/geforce-gtx-1080-mini-itx-gigabyte-est-content-d-avoir-la-plus-petite-1250715.html', FILE_USE_INCLUDE_PATH);
$annonces = substr($homepage, strpos($homepage, 47278), -53349);

echo $annonces;


La fin est bonne, mais il manque le début de l'article.

Et avec ceci :

$homepage = file_get_contents('http://www.01net.com/actualites/geforce-gtx-1080-mini-itx-gigabyte-est-content-d-avoir-la-plus-petite-1250715.html', FILE_USE_INCLUDE_PATH);
$annonces = substr($homepage, strpos($homepage, 47277), -53349);

echo $annonces;


Il y a tout le haut de la page.

Il doit y avoir un script qui bloque la capture de l'article ou du moins qui affiche systématiquement le haut de la page.
0