Skrobak internetowy GrabzIt jest bardzo elastyczny, dzięki czemu może wykonywać różnorodne zadania online, takie jak sprawdzanie linków do stron internetowych i raportowanie, które są zepsute.
Pierwszą rzeczą do zrobienia jest stworzenie zeskrobać i przypisz docelową stronę internetową, którą chcesz sprawdzić, a następnie użyj poniższego kodu do instrukcji zgarniania.
var urls = Page.getTagAttributes('href', {"tag":{"equals":"a"}}); urls = Utility.Array.unique(urls); urls = Utility.Array.filter(urls, Data.readColumn("Links", "URL")); for (i = 0; i < urls.length; i++) { var url = urls[i]; Data.save(Page.getUrl(), "Links", "Found On"); Data.save(url, "Links", "URL"); if (Utility.URL.exists(url)) { Data.save("Found", "Links", "Result"); } else { Data.save("Missing", "Links", "Result"); } }
Pierwsza linia var urls = Page.getTagAttributes('href', {"tag":{"equals":"a"}}); wyodrębnia wszystkie adresy URL hiperłączy i umieszcza je w pliku urls zmienna. Następna linia używa Utility.Array.unique metoda, aby wszystkie adresy URL były unikalne.
var urls = Page.getTagAttributes('href', {"tag":{"equals":"a"}});
urls
Trzeci wiersz zapewnia, że linki nie są sprawdzane dwukrotnie, aby to zrobić, czytamy adresy URL, które były wcześniej saved i przefiltruj przez to wyodrębnione linki. Jeśli chcesz, aby każda strona była zapisywana, usuń ten wiersz.
Po wyczyszczeniu danych adresu URL przeglądamy każdy pozostały adres URL, zapisując go w pliku zestaw danych wraz z bieżącą stroną, przed sprawdzeniem, czy adres URL istnieje, używając Utility.URL.exists metoda. Wynik tej kontroli jest wtedy również saved w zbiorze danych.
Utility.URL.exists
Alternatywnie możesz sprawdzić, czy istnieją obrazy witryn internetowych, zastępując kod Page.getTagAttributes('href', {"tag":{"equals":"a"}}); z Page.getTagAttributes('src', {"tag":{"equals":"img"}});.
Page.getTagAttributes('href', {"tag":{"equals":"a"}});
Page.getTagAttributes('src', {"tag":{"equals":"img"}});