/** * Parse HTML file and extract the relevant content, and send it to be downloaded. */ @Override public void run() { Log.d(String.format("AnalyzerTask is running on %s", currUrl)); HashMap<String, ArrayList<String>> exts = new HashMap<>(); // Put the extensions from config.ini in a hash-map, for passing it to the HtmlParser. exts.put("imageExtensions", WebCrawler.imageExtensions); exts.put("videoExtensions", WebCrawler.videoExtensions); exts.put("documentExtensions", WebCrawler.documentExtensions); // Extracting the relevant URLs from the given HTML. HtmlParser parser = new HtmlParser(currUrl, currHtml, exts); parser.parse(); // Filling the URL lists with downloadable data ArrayList<String> imgUrls = parser.getImagesUrls(); ArrayList<String> videoUrls = parser.getVideosUrls(); ArrayList<String> docUrls = parser.getDocsUrls(); ArrayList<String> hrefUrls = parser.getHrefUrls(); Log.d("Sending images to downloads"); sendToDownload(imgUrls, DownloaderTask.RESOURCE_TYPE_IMG); Log.d("Sending videos to downloads"); sendToDownload(videoUrls, DownloaderTask.RESOURCE_TYPE_VIDEO); Log.d("Sending documents to downloads"); sendToDownload(docUrls, DownloaderTask.RESOURCE_TYPE_DOC); Log.d("Sending HREFs to downloads"); sendToDownload(hrefUrls, DownloaderTask.RESOURCE_TYPE_HREF); decreaseNumOfAnalyzersAlive(); }