Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: robot indeksujacy w php
Forum PHP.pl > Forum > PHP
edious
Opis skryptu:

Skrypt ma na celu pobrac strone z podanego linku, nastepnie przzeglada kod html w poszukiwaniu linkow. po znalezieniu linku, wykrywa do jakiego pliku prowadzi i wybiera ten, ktory prowadzi do pliku o zadanym rozszerzeniu np:pdf

Jesli znajdzie takie linki, tworzy z nich tablice w ktorej zapisuje nazwe linku oraz adres url linka. Nastepnie sprawdza czy plik podany w linkach naprawde istnieje, a jesli tak, sprawdza jego rozmiar (kb), po czym zapisuje info o tych linkach w bazie. (nazwa linku, adres linku, typ pliku, rozmiar pliku, url strony).

Poradze sobie z: wczytaniem strony, zapisem danych do bazy, wyborem linkow z tablicy, sprawdzeniem cy pliki istnieja. reszta jest dla mnie jak narazie niewiadoma.

Czy ktosbwie, jak wykonac reszte zadan? jakie funkcje?
piczu
czyli co ci zostalo bo trudno mi sie doczytac
SongoQ
OK pliki pobierasz funkcja np fopen zaczytujesz i sprawdzasz rozmiary. Nic latwiejszego.
piczu
jesli chodzi o rozmiar plik to filesize_remote
edious
zostalo do zrobienia: wykluczenie kodu html i pozostawienie tylko linkow czyli <a href=xxx> i ulozenie ich w tablicy. Nie wiem jak sprawdzic tez ich rozmiar, filesize(); odpada. Musze tez sprawdzic jaki typ pliku kryje sie pod linkiem.

zostalo do zrobienia: wykluczenie kodu html i pozostawienie tylko linkow czyli <a href=xxx> i ulozenie ich w tablicy. Nie wiem jak sprawdzic tez ich rozmiar, filesize(); odpada. Musze tez sprawdzic jaki typ pliku kryje sie pod linkiem.
erix
eregi" title="Zobacz w manualu php" target="_manual
masz tam przyklad
edious
z tym ze trzeba zauwazyc to, ze strona lezy na innym serwerze i jest wczytywana poprzez http. Druga sprawa to wyczyscic caly kod html pozostawiajac tylko linki <a href.....
dyktek
preg-match-all

http://forum.php.pl/index.php?showtopic=47488&hl= - tutaj masz przykład z ta funkcją musisz zmienić tylko wyrażenie regularne
Jim
  1. <?php
  2. preg_match_all('/<.*?a.*?href=s*?['"](.+)['"].*?>.*?</.*?a.*?>/i', $line, $matches);
edious
No chlopaki, dzieki wielkie smile.gif tak wlasnie myslalem z tymi wyrazeniami smile.gif pokombinuje, teraz to juz z gorki....

poprawnie:
  1. <?php
  2. '/<a.*?href=s*?['"](.+)['"].*?>.*?</a>/'
pytanko: a jak dopisac do tego zeby znalazl tylko te linki, ktore prowadza do pliku pdf np: www.xxx.pl/plik.pdf questionmark.gif
erix
Kod
'/<a.*?href=s*?[\'"](.+)\.pdf[\'"].*?>.*?<\/a>/'

chyba tak...
edious
wlasnie tak probowalem, no niestety cos nie dzialalo zbytnio. ponadto, nie wyrzuca wszystkiego. co prawda zostawia ten kod, co potrzeba, jednak zostawia takze inne, niedokonczone tagi html. To sie robi coraz trudniejsze.
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.