Tools om het web vast te leggen en te converteren

Maak een aangepaste koppelingscontrole

Dit voorbeeld is ook beschikbaar als een sjabloon.

GrabzIt is Web Scraper is zeer flexibel waardoor het verschillende online taken kan uitvoeren, zoals het controleren van koppelingen naar websites en gebroken rapporten.

Het eerste wat u moet doen, is een maken schrapen en wijs de doelwebsite toe die u wilt controleren en gebruik vervolgens de onderstaande code voor de instructies voor het schrapen.

        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");
          }
        }
    

De eerste regel var urls = Page.getTagAttributes('href', {"tag":{"equals":"a"}}); extraheert alle hyperlink-URL's en plaatst deze in de urls variabel. De volgende regel gebruikt de Utility.Array.uniek methode om alle URL's uniek te maken.

De derde regel zorgt ervoor dat de koppelingen niet twee keer worden gecontroleerd. Hiervoor lezen we de URL's die eerder zijn gebruikt saved en filter de geëxtraheerde koppelingen hierdoor. Als u wilt dat op elke pagina een link wordt verbroken, verwijdert u deze regel.

Nadat de URL-gegevens zijn opgeschoond, doorlopen we elke resterende URL en slaan deze op in de dataset samen met de huidige pagina, voordat u controleert of de URL bestaat met behulp van de Utility.URL.exists methode. Het resultaat van deze controle is dan ook saved in de dataset.

Als alternatief kunt u controleren of afbeeldingen van websites bestaan ​​door de code te vervangen Page.getTagAttributes('href', {"tag":{"equals":"a"}}); met in de titel Page.getTagAttributes('src', {"tag":{"equals":"img"}});.