Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1413 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Moteur de recherche ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Moteur de recherche ?

n°1737765
aphelion
Posté le 27-05-2008 à 14:41:54  profilanswer
 

Bonjour,
 
j'aimerais créer un script qui me permette dentrer un mot clé dans un moteur de recherche et de recupéré les informations de la page obtenu.
si quelqun peut m'aider ;)

mood
Publicité
Posté le 27-05-2008 à 14:41:54  profilanswer
 

n°1737767
dwogsi
Défaillance cérébrale...
Posté le 27-05-2008 à 14:45:44  profilanswer
 

Code :
  1. <?php echo file_get_contents('http://www.google.fr/search?q=keyword'); ?>


Te reste plus qu'à parser la réponse!


Message édité par dwogsi le 27-05-2008 à 14:48:54

---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
n°1737768
aphelion
Posté le 27-05-2008 à 14:46:38  profilanswer
 

ok merci d'avoir été rapide ;)

n°1737840
ionik
Posté le 27-05-2008 à 16:26:09  profilanswer
 

aphelion a écrit :

ok merci d'avoir été rapide ;)


il faut bien sur que le get_file_contents autorise les urls


---------------
Recette cookeo Recette de cuisine
n°1737889
aphelion
Posté le 27-05-2008 à 17:11:30  profilanswer
 

ben pour le moment ca marche, mais mon seule souci c'est que je n'arrive pas a filtrer les informations, car la plupart du text obtenue est du HTML.

n°1737905
soju
One shot !
Posté le 27-05-2008 à 17:19:17  profilanswer
 

aphelion a écrit :

car la plupart du text obtenue est du HTML.

oui forcément
 
donc tu peux :
- parser le résultat (avec simple dom par exemple)
- ou utiliser l'API de google, ou d'un autre moteur

n°1738040
aphelion
Posté le 27-05-2008 à 20:52:39  profilanswer
 

Citation :


oui forcément
 
donc tu peux :
- parser le résultat (avec simple dom par exemple)
- ou utiliser l'API de google, ou d'un autre moteur  


 
ben, j'ai utiliser la fonction strip_tags ($string); qui me retire toute les balises HTML.
maintenant plus qu'a utilisé des regex pour filtrer les URL (vu que c'est ce que je veux)
 

Code :
  1. #http:\/\/((w{3}\.)?).+\.([a-z]{2,3})$#


 
mais apparement j'aurai une faute dans ma synthaxe car quand je veux afficher le tableau, ben ca m'affiche rien ^^

n°1738085
aphelion
Posté le 27-05-2008 à 23:11:46  profilanswer
 

Voila après 2h de réflexion,
je vous donne ma regex pour scanner des page susceptible d'être des liens URL.
 

Code :
  1. '`((http://)?(w{3}\.)?[a-z|0-9|\.|_|-]{1,100}\.[a-z]{2,4})|(http://(\.?[0-9]{1,3})*)`i'


 
il scan aussi bien les adresse IP que les page sans "http://" ou sans les www.
 
Mais, on obtient que les noms de domaine avec ce genre de regex, si vous voulez m'aider a la pofiner un peu c'est pas de refus ;)

n°1738151
soju
One shot !
Posté le 28-05-2008 à 09:11:38  profilanswer
 

te casse pas la tête avec une regexp, utilise dom

n°1738376
aphelion
Posté le 28-05-2008 à 15:37:51  profilanswer
 

ben trop tard ^^ mais je suis curieux de savoir ce qu'est DOM. ca fait quoi  ?

mood
Publicité
Posté le 28-05-2008 à 15:37:51  profilanswer
 

n°1738384
soju
One shot !
Posté le 28-05-2008 à 15:46:37  profilanswer
 
n°1738713
aphelion
Posté le 29-05-2008 à 10:52:11  profilanswer
 

tu sai je suis un peu débutant, et peut etre un peu car j'ai rien compri sur tes site xD si t'avais un lien vers un cours compréhensible ou un bref exemple d'utilisation je comprendrais mieux ^^

n°1738923
Paulp
~, sweet ~
Posté le 29-05-2008 à 15:09:08  profilanswer
 

aphelion a écrit :

tu sai je suis un peu débutant, et peut etre un peu car j'ai rien compri sur tes site xD si t'avais un lien vers un cours compréhensible ou un bref exemple d'utilisation je comprendrais mieux ^^


Et bien par exemple, l'url http://www.google.fr/search?q=keyword contient le div <div id="res" style="padding-top: 11px; min-width: 500px;">
Ce div contient les résultats de la recherche.
Donc tu fais (en javascript, mais il existe des équivalents PHP)

Code :
  1. reponses=document.getElementById('res');


Et après, en fonction de ce que tu cherches, tu te balades dans l'arborescence XML :

Code :
  1. var liens=div.getElementsByTagName('a');
  2. var urls=new Array();
  3. for(var i=0;i<liens.length;i++){
  4.   if(liens[i].className=='l')
  5.     urls.push(liens[i].href)
  6. }


Te donnera un tableau qui contiendra tous les urls des liens ayant un attribut class="l"
Tu peux aussi te balader avec des trucs de ce genre :
a=div.childNodes[5];
childNodes étant le tableau de tous les éléments fils.
ou b=div.parentNode;
 
En fait, il y a énormément de possibilités pour parcourir du XML avec le DOM ...
 
http://fr.selfhtml.org/javascript/objets/node.htm en javascript
http://fr.php.net/manual/en/class.domnode.php en PHP
 
Par exemple en PHP

Code :
  1. $html=file_get_contents('http://www.google.fr/search?q=keyword');
  2. $dom=new DOMDocument();
  3. $dom->loadHTML($html);
  4. $resultDiv=$dom->getElementById('res');
  5. $liens=$resultDiv->getElementsByTagName('a');
  6. foreach($liens as $lien){
  7.  if($lien->attributes->getNamedItem('class')=='l')
  8.    $urls[]=$lien->attributes->getNamedItem('href');
  9. }


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Moteur de recherche ?

 

Sujets relatifs
moteur de rechercheMoteur de recherche dans BDD MySQL
moteur de recherche en phpMoteur de recherche multi sites
Moteur de recherche de fichiersMoteur de recherche avancé
Moteur de recherche dans mon site ???[résolu] Moteur de recherche interne avec fichier pdf
problème avec un moteur de recherchemoteur de recherche interne
Plus de sujets relatifs à : Moteur de recherche ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR