extraire les liens d'une page web html

extraire les liens d'une page web html - PHP - Programmation

Marsh Posté le 26-09-2008 à 05:11:01    

salut tout e monde, est ce que quelqu'un pourrai me dire comment faire pour trouver tout les liens qui se trouvent dans une chaine contenant le soure html d'une page web ?
 
les liens sont du genre:
 
<a***href="LE_LIEN"***>***</a>
 
où *** peut être n'importe quoi, et LE_LIEN est e forme: ***.php?mavar=***
Donc: <a***href="***.php?mavar=***"***>***</a>
 
PS: on peut trouver le lien sous forme: href="LE_LIEN", ou href='LE_LIEN' ou même href=LE_LIEN
 
J'ai essayer ça, mais ça ne donne rien:

Code :
  1. $page = file_get_contents ("http://www.google.fr/search?hl=fr&q=inurl%3A.php%3Fpr%3D&btnG=Rechercher&meta=" );
  2. preg_match('/<a.*href="?([^" ]*)"?[^<>]*>/iU', $page, $matches);
  3. foreach ($matches as $link) {
  4.   echo "$link<br />";
  5. }


 
merci beaucoup de votre aide.

Reply

Marsh Posté le 26-09-2008 à 05:11:01   

Reply

Marsh Posté le 26-09-2008 à 09:50:36    

deja, tu devrai utiliser preg_match_all
 
sinon, pour aider au debuggage , tu peux utiliser kodos
 
 
et sinon, tu sais que google met en place nue api pour faire des recherches simplement ?  
 

Reply

Marsh Posté le 26-09-2008 à 15:16:54    

flo850 a écrit :

et sinon, tu sais que google met en place nue api pour faire des recherches simplement ?


Je n'arrive toujours pas à faire le bon regxp pour ce que je veux faire, est ce quelqu'un n'aurai pas ça sur la main ?
 
Et sinon pour google API, ça ne va pas me permettre d'éviter ce genre de regxp, et puis les requêtes sont limité avec google API ( merci quand même pour le conseil ;) ).

Reply

Marsh Posté le 26-09-2008 à 21:27:38    

up

Reply

Marsh Posté le 29-09-2008 à 12:41:18    

Code :
  1. $page = file_get_contents ("http://www.google.fr/search?q=inurl%3A.php%3Fpr%3D&num=100" );
  2. preg_match_all('/<a.*href="?([^" ]*)" /iU', $page, $matches);
  3. foreach($matches[1] as $link){//[0] retourne toute la chaine , [1] la première expression, [2] la seconde etc ..
  4.     echo $link."\n";
  5. }

:D


Message édité par grosbin le 29-09-2008 à 12:42:38

---------------
Photos Panoramiques Montagnes Haute Savoie
Reply

Marsh Posté le 01-10-2008 à 06:43:11    

merci beaucoup grosbin :D

Reply

Marsh Posté le 25-09-2011 à 01:10:31    

moi qui ne metrise pas les preg_match, je suis admiratif
3 petits soucis:
les liens sous la forme >> href="/2.html" n'apparaissent pas. Bien qu'ils soient a remettree forme, ils sont important pour suivre les lien sur le meme site.
comment faire la meme chose pour les images
ou trouverun bon tuto sur les operateur relationnel
 
merci de ta reponse

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed