2011-02-07 2 views
1

Je veux récupérer des images à partir de goolge/images à nouveau n'importe quelle requête. J'utilise le code suivant mais je n'ai aucun résultat. compte toujours retourner zéro.aller chercher des images google via html dom parser

 
$html = new simple_html_dom(); 
     $html=file_get_html('http://www.google.com.pk/images?q='.$_GET['q']); 
     $find=$html->find('ul.rg_ul li'); 
     echo(count($find)); 

D'abord, je veux obtenir tous les tags li de ul.rg_ul. Mais il revient toujours à zéro. Qu'est-ce qui va pas avec ça. je suis totalement coincé à ce sujet. J'ai même essayé

$find=$html->find('a.rg_l img');
mais le résultat est toujours zéro

+0

Vous ne pouvez pas utiliser plusieurs sélecteurs css AFAIK. Utilisez '$ list = array(); foreach ($ html-> find ('ul.rg_ul') comme $ i) $ list [] = $ i-> find ('li'); print_r ($ list); ' – Jason

+0

Merci Jason. Mais cela retourne aussi le tableau vide –

+0

Faites un var_dump ($ html); IIRC google parfois ne l'aime pas lorsque vous accédez à leurs pages via ce type de méthode (via un script qui gratte leurs pages) et ils vont retourner une page blanche ou une sorte d'erreur. –

Répondre

1

Dernière solution trouvée par l'auto-apprentissage et la recherche après avoir reçu aucune réponse. Google ne supporte pas la méthode que j'utilisais. Google fournit ses API pour récupérer les images. Mais je l'ai fait par un mini google bot. Maintenant, toute personne confrontée à un problème peut tirer avantage d'ici: P