Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Szukanie URL-i w ciągu, Coś nie działa ;-)
Fipaj
post
Post #1





Grupa: Zarejestrowani
Postów: 691
Pomógł: 0
Dołączył: 19.01.2005
Skąd: Warszawa

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


Mam sobie taki oto skrypcik, który wypisuje URL-e z danej strony - jest to zalążek spiderka:
  1. <?php
  2. function doSearch ($url) {
  3. $site = file_get_contents ($url);
  4. $data = explode ('"', $site);
  5. foreach ($data as $item) {
  6. if (ereg ('^http://', $item)) {
  7. echo $item . "\n";
  8. sleep (1);
  9. }
  10. }
  11. }
  12. print ("phpSearchEngine 1.0\n");
  13. doSearch ('http://gazeta.pl');
  14. ?>

Skrypt działa bardzo wolno, ale jest pisany do użytku w konsoli, więc to akurat nie jest problemem...
Wynikiem puszczenia skryptu jest lista adresów URL na danej stronie. Oto przykład opierający się o stronę framework.zend.com:
Kod
fipaj@ubuntu:/home/server$ php search.php
phpSearchEngine 1.0
http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd
http://www.w3.org/1999/xhtml
http://www.zend.com/rss.php?type=press
http://www.zend.com/press.php?id=312&single=1
http://www.zend.com/press.php?id=311&single=1
http://www.zend.com/press.php?id=309&single=1
http://www.zend.com/press.php?id=308&single=1
http://feeds.feedburner.com/ZendDeveloperZone
http://feeds.feedburner.com/ZendDeveloperZone?m=1
http://feeds.feedburner.com/ZendDeveloperZone?m=2
http://feeds.feedburner.com/ZendDeveloperZone?m=3
http://feeds.feedburner.com/ZendDeveloperZone?m=4
http://www.php.net
http://www.zend.com
http://devzone.zend.com
http://devzone.zend.com/
http://framework.zend.com/contributors
http://framework.zend.com/roadmap/future/
http://framework.zend.com/download
fipaj@ubuntu:/home/server$

No więc wszystko bardzo fajnie, ale postanowiłem dodać możliwość podążania za linkami.
  1. <?php
  2. function doSearch ($url) {
  3. $site = file_get_contents ($url);
  4. $data = explode ('"', $site);
  5. foreach ($data as $item) {
  6. if (ereg ('^http://', $item)) {
  7. echo $item . "\n";
  8. doSearch ($item);
  9. sleep (1);
  10. }
  11. }
  12. }
  13. print ("phpSearchEngine 1.0\n");
  14. doSearch ('http://framework.zend.com');
  15. ?>

I teraz skrypt nie działa. To znaczy nie działa tak, jak powinien:
Kod
fipaj@ubuntu:/home/server$ php search.php
phpSearchEngine 1.0
http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd
http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd
http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd
http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd
http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd
http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd
http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd
http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd
http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd
http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd
http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd
http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd
// i tak aż do błędu o przekroczonym jakimś limicie...

Czy ma ktoś pomysł na rozwiązanie tego problemu? Byłbym wdzięczny, nic nie mogę wymyślić winksmiley.jpg

PS. 500. post ;]

Przepraszać, rozwiązać sam smile.gif Kod tutaj: http://fipaj.livenet.pl/files/?src=./search.php

Ten post edytował Fipaj 5.03.2006, 19:42:42


--------------------
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 Aktualny czas: 22.08.2025 - 09:34