Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wyniki od Google, Problem z wyciágniéciem wyników
ayeo
post 8.05.2007, 01:07:54
Post #1





Grupa: Przyjaciele php.pl
Postów: 1 202
Pomógł: 117
Dołączył: 13.04.2007
Skąd: 127.0.0.1

Ostrzeżenie: (0%)
-----


Jak wyciagnac wyniki wyszukiwania od google. Chodzi mi o wyrazenie regularne do funkcji preg_match_all. Walcze z tym juz jakis czas, ale bezskutecznie. Google API nie wchodzi w gre....

Pojedynczy wynik wyglada tak:
  1. <div class="g"><!--m-->
  2. <h2 class="r">
  3. <a href="http://www.google.pl/" class="l"><b>Google</b></a>
  4. </h2>
  5. <table border="0" cellpadding="0" cellspacing="0">
  6. <tr>
  7. <td class="j">
  8. <font size="-1">Wyszukiwarka stron WWW <b>Google</b>.
  9. <br>
  10. <span class="a">www.<b>google</b>.pl/ - 4k - 6 Maj 2007 - </span>
  11. <nobr>
  12. <a class="fl" href="http://66.102.9.104">Kopia</a> -
  13. <a class="fl" href="/search?hl=pl&lr=&q=related:www.google.pl/">Podobne</a>
  14. </nobr>
  15. </font><!--n-->
  16. </td>
  17. </tr>
  18. </tbody>
  19. </table>
  20. </div>


Ten post edytował harold1982 8.05.2007, 02:05:48


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
babejsza
post 8.05.2007, 10:11:38
Post #2





Grupa: Zarejestrowani
Postów: 407
Pomógł: 1
Dołączył: 4.03.2003
Skąd: warszawa

Ostrzeżenie: (0%)
-----


  1. <?php
  2. preg_match_all( '%(<div[^>]*>)(.*?</div>)%', $content, $matches );
  3. ?>


Powinno wyciągać Ci potrzebne dane jak i te, których nie chcesz (przy założeniu, że pobierasz zawartość całej strony wyników). Teraz będziesz musiał się tym jeszcze pobawić winksmiley.jpg.
Go to the top of the page
+Quote Post
ayeo
post 12.05.2007, 16:53:35
Post #3





Grupa: Przyjaciele php.pl
Postów: 1 202
Pomógł: 117
Dołączył: 13.04.2007
Skąd: 127.0.0.1

Ostrzeżenie: (0%)
-----


problem polega na tym, ze do wzoru pasuje wszystko pomiedzy pierwszym otwarciem diva, a ostatnim zamknieciem smile.gif


--------------------
Go to the top of the page
+Quote Post
Kicok
post 12.05.2007, 17:11:52
Post #4





Grupa: Zarejestrowani
Postów: 1 033
Pomógł: 125
Dołączył: 17.09.2005
Skąd: Żywiec

Ostrzeżenie: (0%)
-----


  1. <?php
  2. $pattern = '/<div.*?>(.*?)</div>/si';


To powinno znaleźć wszystkie div'y. Jak chcesz coś dokładniejszego, to kombinuj z dodawaniem nowych tagów, albo atrybutów:
  1. <?php
  2. $pattern = '/<div.+?class="g".*?>(.*?)</div>/si';
Gdy znajdzie ci wszystkie divy, które chcesz żeby znalazło, a zarazem nie znajdzie ci żadnego diva, którego nie chcesz żeby znalazło - to znaczy że wyrażenie jest idealne ;]


--------------------
"Sumienie mam czyste, bo nieużywane."
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 18:23