/** * Find all URLs on a webpage and use StorageResource to print multiple information. * * @author (Elvis Morales) * @version (1.0) */importedu.duke.*;publicclassFindAllURLs{publicStorageResourcefindURLs(Stringurl){URLResourcepageCont=newURLResource(url);StringpageContStr=pageCont.asString();StorageResourceurlsFound=newStorageResource();intstart=0;while(true){inturlStart=pageContStr.indexOf("href=",start);if(urlStart==-1){break;}inturlStop=pageContStr.indexOf("\"",urlStart+6);if(urlStop==-1){break;}StringhrefVal=pageContStr.substring(urlStart+6,urlStop);if(hrefVal.startsWith("http")){urlsFound.add(hrefVal);}start=urlStop;}returnurlsFound;}publicvoidtestURLWithStorage(){StorageResourceurls=findURLs("http://www.dukelearntoprogram.com/course2/data/manylinks.html");intsecLinks=0;intdotComLinks=0;intdotComEnd=0;intdotsQty=0;for(Stringurl:urls.data()){System.out.println(url);if(url.startsWith("https")){secLinks+=1;}if(url.contains(".com")){dotComLinks+=1;}if(url.endsWith(".com")||url.endsWith(".com/")){dotComEnd+=1;}intstart=0;while(true){start=url.indexOf(".",start);if(start==-1){break;}dotsQty+=1;start+=1;}}System.out.println("URLs found: "+urls.size());System.out.println("Secure links found: "+secLinks);System.out.println("Dot com links: "+dotComLinks);System.out.println("Ends with dot com: "+dotComEnd);System.out.println("Number of dots: "+dotsQty);}}
Comments (0)
HTTPSSSH
You can clone a snippet to your computer for local editing.
Learn more.