Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php]Spider na własną stronę.
Mike122
post
Post #1





Grupa: Zarejestrowani
Postów: 253
Pomógł: 1
Dołączył: 12.04.2006

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


Potrzebuję stworzyć sobie "bota" który znajdzie wszystkie strony tylko w moim serwisie.
Więc po przeczytaniu paru różnych tematów na forach stworzyłem kod który znajduje linki i wyświetla je.
jednak posiadam pewien problem jak zrobić aby nie wyświetlał 4 czy 6 razy tych samych linków.
Chodzi mi żeby był raz 1 link.

  1. <?php
  2. $url = "index.html";
  3. $link = implode('', file($url));
  4. if(preg_match_all('/<a[^>]+?hrefs*?=s*?("|')?(.*?)(?(1)1[^>]*>|(?:s[^>]*>|>))(.*?)</a>/si', $link, $sub)){
  5. foreach($sub[2] as $value){
  6. if (!eregi('http://', $value)) {
  7. $link = implode('', file($value));
  8. if(preg_match_all('/<a[^>]+?hrefs*?=s*?("|')?(.*?)(?(1)1[^>]*>|(?:s[^>]*>|>))(.*?)</a>/si', $link, $sub)){
  9. foreach($sub[2] as $value){
  10. if (!eregi('http://', $value)){
  11. echo ($value);
  12. echo ("<br />");
  13. }
  14. }
  15. }
  16. }
  17. }
  18. }
  19. }
  20. ?>

Uwagi i propozycje do do zamiany jakiś funkcji mile widziane. Pozdrawiam i proszę o pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
kornel-php
post
Post #2





Grupa: Zarejestrowani
Postów: 210
Pomógł: 20
Dołączył: 7.07.2006
Skąd: Krotoszyn

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


Może twórz sobie tablice z linkami, które już 'znalazłeś' i sprawdzaj, czy każdy kolejny znaleziony już czasem do niej nie należy...

Ewentualnie możesz sobie tworzyć baze danych ze znalezionymi i tam sprawdzać czy już istnieje...


Jednak druga opcja jest bezsensowna i lepiej dodawać linki do tablicy.

---
kolega UDAT mnie wyprzedził (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Ten post edytował kornel-php 30.06.2007, 13:47:28
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 2.10.2025 - 19:42