Bonjour à tous...
Je suis en train de me faire un crawler pour récupérer les liens des videos de Youtube pour me faire des listes...
J'arrive à récupérer les liens, mais j'ai plusieurs fois les mêmes...
Voici mon code:
<?php
set_time_limit(0); // Pas de limite de temps
ini_set('user_agent', 'Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1'); //Simuler un navigateur
$ch = curl_init();
$timeout = 0; // Timeout cURL
curl_setopt ($ch, CURLOPT_URL, "http://fr.youtube.com/results?search_query=Bob+Marley&search_type=&aq=f");//URL de la recherche
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$file_contents = curl_exec($ch);
curl_close($ch);
$motif='#<a href="/watch?(.*?)"(.*?)>#is';
preg_match_all($motif,$file_contents,$out);
$count=count($out[0]);
for($i=0;$i<$count;$i++)
{
$Lien = $out[0][$i];
echo htmlspecialchars($Lien),'<br/>';
}
?>
Et voilà les résultats:
<a href="/watch?v=Hd1CQEtrQMY" >
<a href="/watch_queue?all">
<a href="/watch?v=Hd1CQEtrQMY" title="Bob Marley - Forever Loving Jah">
<a href="/watch?v=Hd1CQEtrQMY" title="Bob Marley - Forever Loving Jah">
<a href="/watch?v=rugUc3tgjYg" >
<a href="/watch_queue?all">
<a href="/watch?v=rugUc3tgjYg" title="bob marley bad boys musique de inner circle">
<a href="/watch?v=rugUc3tgjYg" title="bob marley bad boys musique de inner circle">
<a href="/watch?v=fyppjUE9TxM" >
<a href="/watch_queue?all">
<a href="/watch?v=fyppjUE9TxM" title="Mort de Bob Marley - Journal du 12 Mai 1981">
<a href="/watch?v=fyppjUE9TxM" title="Mort de Bob Marley - Journal du 12 Mai 1981">
<a href="/watch?v=UyyAf45bCRE" >
<a href="/watch_queue?all">
<a href="/watch?v=UyyAf45bCRE" title="Bob Marley - Is This Love">
<a href="/watch?v=UyyAf45bCRE" title="Bob Marley - Is This Love">
...
Donc j'aimerais ne garder que "<a href="/watch?v=UyyAf45bCRE" title="Bob Marley - Is This Love">".
J'ai essayé avec array_unique(); mais sans résultats.
Si vous pouviez m'aider, merci!!