Exemplo n.º 1
0
  /** * 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();
  }