Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jeden - Pierwszy wynik google
Forum PHP.pl > Forum > PHP
mariolita
Ma ktoś pomysł jak to zrobić? Jak wyciągnąć pierwszy wynik google (ten na zielono w tagu CITE)

1. API google już nie działa

2. Wiem że moge zrobić: w PHP file_get_contents a następnie włożyć kod przez jquery jako html i wtedy wyciągnąc zawartość pierwszego taga cite ale mam tego sporo przeglądarka przy while`u wysiada

3. Najlepiej byłoby dom`em w php zeby wyciągnąć zawartość pierwszego taka imieniem CITE ale na wszelke sposoby próbuje i nie potrafie. Może ktoś pomóc mi to wykonać?

  1. $getGoogleFirstResult = file_get_contents("https://www.google.pl/?gfe_rd=cr&ei=-mJxV_LmIqTb8AeUs6b4Dg&gws_rd=ssl#q=ja+ty");
  2.  
  3. $internalErrors = libxml_use_internal_errors(true);
  4.  
  5. $dom = new domDocument;
  6.  
  7. $dom->loadHTML($getGoogleFirstResult);
Lion
Spróbuj tak:

  1.  
  2. $getGoogleFirstResult = file_get_contents("https://www.google.pl/?gfe_rd=cr&ei=-mJxV_LmIqTb8AeUs6b4Dg&gws_rd=ssl#q=ja+ty");
  3. $matches = array();
  4. if (preg_match('/<cite>(.*)<\/cite>/', $getGoogleFirstResult, $matches)) {
  5. print_r($matches);
  6. }
  7.  
mariolita
niestety zupełnie pusty wynik
Lion
to chyba kwestia linka, spróbuj https://www.google.pl/search?q=ja+ty
mariolita


poszło
dziękuje


A GDYBY CHCIEĆ TO ZROBIĆ DOM`em to jak to zrobić?

ok poradziłem sobie, jakby ktos potrzebowal:

  1. $dom = new DOMDocument;
  2.  
  3. $dom->loadHTML($getGoogleFirstResult);
  4.  
  5. foreach ($dom->getElementsByTagName('cite')->item(0)->childNodes as $node) {
  6.  
  7. echo $node->nodeValue;
  8.  
  9. }
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.