ďťż

[HTML-testy] sprawdzanie poprawności linków. Jak to zrobić automatycznie?

       

Podstrony


telcocafe

Problem wygląda tak: ma powiedzmy kilkadziesiąt plików HTML, jeden z nich to index.html od którego zaczynam przeglądanie. Wszystkie pliki znajdują się w katalogu na dysku, nie ma żadnego serwera www. I teraz chodzi o to jak sprawdzić powiązania między stronami zaczynając od pliku index. Plik ten zawiera linki do kilku następnych, a tamte z kolei do jeszcze innych. W plikach mogą być również linki zewnętrzne, które teżtrzeba sprawdzić, ale już bez sprawdzania linków na tych stronach. Dodatkowo chciałbym sprawdzić linki do plików javascript, css, obrazków, a także obrazków do tła podanych w css. Wtyczka WebDeveloper do Firefoxa sprawdza takie rzeczy (chyba), ale dla stron z adresami publicznymi, więc nie nadaje się do tego co chcę.
Proszę o info na temat jakiegoś oprogramowania, które robi takie rzeczy. Głównie chodzi mi o sprawdzanie powiązań między stronami, a w dalszej kolejności do css i Javascript.



Można wykorzystać PHP.
Na dysku możesz to zrobić funkcją file_exists()
Co do stron zewnętrznych możesz chociażby wyciągnąć nazwę pliku za pomocą basename() z adresu i użyć fopen()

Po więcej odsyłam do manuala.

funkcji rekurencyjnych do tego chyba najlepiej użyć. Szukasz najpierw w pliku index.html linka, jak znajdziesz, to idziesz do tej strony, potem szukasz na tej stronie itd. Kiedyś w ekspercie był taki skrypt na wyszukiwarke, to można to troche przerobić i już masz!

Oki, ze zrobieniem nie byłoby problemu, pewnie dałbym radę. Rzecz w tym, że sprawa jest na tyle istotna, że ktoś to musiał zrobić przede mną. Dlatego szukam gotowego rozwiązania OpenSource, które po prostu można wziąć i wykorzystać.



nie wiem czy znajdziesz gdzieś gotowy skrypt na takie coś, ale zrobienie czegoś takiego nie powinno zająć ci dłużej niż godzine.

Program HTTrack pobiera strony bazując na powiązaniach linków i jest na Open ;)
Sprawdź go.

Dzięki DJ_ProG, to pierwsza konkretna odpowiedź. Niestety, sprawdziłem ten program, ale on się nie sprawdził. Może coś robię źle? Przeniosłem cały katalog z plikami na serwer lokalny i wpisałem ścieżkę do index.html. Problem w tym, że większość tego co tam jest to html generowany z Javascript. Już sam strona index zawierająca ramki ściągnęła się, ale bez zawartości. Więc chyba jednak o coś mocniejszego mi chodzi.
Słyszał ktoś może coś o "Selenium"? Właściwie, to pytanie jest, czy ktoś używał i czy to się nada do sprawdzania linków?


nie wiem czy znajdziesz gdzieś gotowy skrypt na takie coś, ale zrobienie czegoś takiego nie powinno zająć ci dłużej niż godzine.
No więc zajęło mi dużo więcej niż godzinę a do tego nie jestem do końca zadowolony z efektu. Więc podejrzewam, że się do tego źle zabrałem. Może jakieś porady jak zrobić taki skrypt? Nie koniecznie musi to być godzina, ale żeby działało.
I jeszcze jedno konkretna pytanie: czy da się jakoś wysłać zapytanie typu HEAD z przeglądarki? GET i POST to normalka, ale mi właśnie przydałoby się HEAD, żeby sprawdzić co zwróci serwer, ale nie pobierać całej zawartości.

Sorki za odgrzewanie i post po poście, ale to już chyba troszkę inne pytanie :)


No więc zajęło mi dużo więcej niż godzinę a do tego nie jestem do końca zadowolony z efektu nie zadowolony z efektu tzn co ci sie psuje? a może pokaż cały kod to sie coś wymyśli

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.