Publikuję wpis ponieważ miałem problem z wyeksportowaniem linków z pewnej strony. Eksport do CSV, XLS był niemożliwy, a ręczne kopiowanie trwałoby zbyt długo. Pokażę jak przy pomocy przeglądarki, kawałku kodu wyciągnąć interesujące nas linki.
Dobra, przechodzimy do działania.
Otwórz przeglądarkę, wejdź na interesującą Cie stronę i otwórz konsolę (F12 lub prawy przycisk myszki, zbadaj element, zakładka „konsola”).
W konsoli wpisz następujący kod i kliknij ENTER
let links = document.querySelectorAll('td>a.external');
Pobraliśmy w ten sposób wszystkie linki ze strony, które znajdują się w TD, posiadają klasę „external” i zapisaliśmy je w tablicy.
Skopiuj poniższy kod i wklej do konsoli (jak poprzednio). Teraz wyświetlimy to co zostało zebrane.
for (let i = 0; i <= links.length; i++) {
console.log(links[i].href);
}
Wykorzystując pętlę oraz console.log, wyświetliliśmy zawartość tablicy. Wystarczy skopiować linki z konsoli 🙂
Kod nie jest skomplikowany i osoba, która zna odrobinę JavaScript napisze to bez problemu. Rozwiązanie-gotowiec skierowane do osób, które chcą osiągnąć zamierzony efekt, bez znajomości JS.
Jeśli uważasz, że wpis można rozbudować, poprawić albo przydałby się „inny kod” który rozwiąże Twój problem – po prostu zostaw komentarz 😉
Możesz też napisać własnego crawlera, który umożliwi „chodzenie” po stronach i zbieranie informacji. Tutaj https://mateuszdudek.pl/blog/crawler-scraper-stron-napisanych-javascript-przyklad/ przykład jak tego dokonać.
Bardzo dobry gotowiec. To zdecydowanie lepszy pomysł niż ręczne pobieranie strony i robienie listy linków. Dzięki!
A jak mogę wyciągnąć konkretny element, konkretnego diva o jakimś id i jego wartość?