Extraire une partie d'un code source
Posté : 21 mars 2015, 17:40
Bonjour à tous,
J'utilise une API pour ajouter des vidéos sur mon site(un sorte de service de replay).
Une fois l'API chargée, je n'ai plus qu'à renseigner une ID de vidéo pour l'insérer sur mon site à l'aide d'un bout de code html basique.
Deux solutions s'offrent à moi :
- Soit je vais voir tous les jours les vidéos ajoutées sur le service, et les ajoute manuellement, et éventuellement supprime celles qui ont disparu.
- Soit je suis flemmard, et j'aimerai bien que ça se fasse tout seul
Je vous laisse deviner dans quel état d'esprit je me situe ^^
Donc voilà l'idée générale :
Scrapper le code source de la page web qui génère le service de replay, et choper toutes les ID des vidéos dans le code source.
Comme ça, si ils ont changé, ça se mettra à jour tout seul à chaque chargement de ma page.
Je suis à la recherche des lignes qui contiennent ceci :
985666
455222
122333
455222
122333
985666
Comment faire pour ne pas avoir de doublons ?
Après avoir un peu cherché, je pensais utiliser array_unique() , mais je ne sais pas comment l'utiliser correctement dans mon code, et mes tentatives se sont toutes révélées infructueuses.
Merci d'avance pour un coup de pouce et de m'avoir lu jusqu'ici.
Bonne journée
Ludo
J'utilise une API pour ajouter des vidéos sur mon site(un sorte de service de replay).
Une fois l'API chargée, je n'ai plus qu'à renseigner une ID de vidéo pour l'insérer sur mon site à l'aide d'un bout de code html basique.
Deux solutions s'offrent à moi :
- Soit je vais voir tous les jours les vidéos ajoutées sur le service, et les ajoute manuellement, et éventuellement supprime celles qui ont disparu.
- Soit je suis flemmard, et j'aimerai bien que ça se fasse tout seul
Je vous laisse deviner dans quel état d'esprit je me situe ^^
Donc voilà l'idée générale :
Scrapper le code source de la page web qui génère le service de replay, et choper toutes les ID des vidéos dans le code source.
Comme ça, si ils ont changé, ça se mettra à jour tout seul à chaque chargement de ma page.
Je suis à la recherche des lignes qui contiennent ceci :
<a href="/videos/heros/mavideo_cat_exemple.html?vid=1200456">
J'en suis arrivé à ça qui fonctionne bien, mais ça me retourne des doublons, puisque la ligne ci-dessus se retrouve deux à trois fois dans le code source.function getCode($url){
$code = "";
$lines = file($url);
foreach ($lines as $line) {
if (strstr($line, 'vid=', true)) {
$part = explode('vid=', $line);
$part = explode('"', $part[1]);
$result=$part[0];
$code.=
"<div style='margin-top:5px;'>".htmlspecialchars($result) ."</div><div style='clear:left;'></div>".
"</div>";
}
}
return $code;
}
echo getCode('http://www.domaine.com/url_de_la_page_de_replay.html/');
Cette fonction me retourne effectivement uniquement les id. Ex :985666
455222
122333
455222
122333
985666
Comment faire pour ne pas avoir de doublons ?
Après avoir un peu cherché, je pensais utiliser array_unique() , mais je ne sais pas comment l'utiliser correctement dans mon code, et mes tentatives se sont toutes révélées infructueuses.
Merci d'avance pour un coup de pouce et de m'avoir lu jusqu'ici.
Bonne journée
Ludo