Czy można znaleźć wszystkie strony i linki na DOWOLNEJ witrynie? Chciałbym wprowadzić adres URL i utworzyć drzewo katalogowe wszystkich linków z tej witryny?
Patrzyłem na HTTrack, ale to pobiera całą witrynę i po prostu potrzebuję drzewa katalogów.
directory
web-crawler
Jonathan Lyon
źródło
źródło
Odpowiedzi:
Sprawdź linkchecker - zaindeksuje witrynę (przestrzegając
robots.txt
) i wygeneruje raport. Stamtąd możesz utworzyć skrypt rozwiązania do tworzenia drzewa katalogów.źródło
robots.txt
pliku, oznacza to tylko, że możesz czołgać się do syta.Jeśli masz w przeglądarce konsolę programisty (JavaScript), możesz wpisać ten kod w:
Skrócony:
źródło
$$
operator? A może to po prostu dowolna nazwa funkcji, tak samo jakn=ABC(''a');
nie rozumiem, w jaki sposóburls
pobiera się wszystkie elementy oznaczone tagiem „a”. Możesz wytłumaczyć? Zakładam, że to nie jest jQuery. O jakiej funkcji biblioteki prototypów mówimy?$$()
jest skrótem oddocument.querySelectorAll()
. Więcej informacji pod tym linkiem: developer.mozilla.org/en-US/docs/Web/API/Document/…Inną alternatywą może być
Z twoim
$$(
jest jeszcze krótszyźródło
Jeśli jest to pytanie programistyczne, sugerowałbym napisanie własnego wyrażenia regularnego, aby przeanalizować całą pobraną zawartość. Tagi docelowe to IMG i A dla standardowego HTML. W przypadku JAVA
to wraz z klasami Pattern i Matcher powinno wykryć początek tagów. Dodaj tag LINK, jeśli chcesz również CSS.
Jednak nie jest to tak łatwe, jak mogłoby się wydawać. Wiele stron internetowych nie jest poprawnie sformułowanych. Wyodrębnienie wszystkich linków programowo, które człowiek może „rozpoznać”, jest naprawdę trudne, jeśli trzeba wziąć pod uwagę wszystkie nieregularne wyrażenia.
Powodzenia!
źródło
wypróbuj ten kod ....
źródło