Example #1
0
  public void run() {

    if (infosMotCles == null && infosSociete == null && maBD == null) return;

    String pageCourante = url.substring(infosSociete.get("url").toString().length(), url.length());

    try {
      // Si on a pas vu la page -> On fouille la page
      if (maBD.estDejaVu(infosSociete.get("url").toString(), pageCourante).equalsIgnoreCase("0")) {
        logger.log(Level.INFO, "Parsing - {0}", url);
        Document doc = Jsoup.connect(url).get();
        // Si c'est une page 404 on skip
        if (doc.title().indexOf("404") != -1) return;

        parser(doc, pageCourante);

        if (infosSociete.get("url").toString().equalsIgnoreCase(url)) {

          // On regarde si il y a des page en plus
          for (String link : getLinks(doc)) {
            pageCourante =
                link.substring(infosSociete.get("url").toString().length(), link.length());
            if (maBD.estDejaVu(infosSociete.get("url").toString(), pageCourante)
                .equalsIgnoreCase("0")) {
              // On lance un nouveau thread pour cette page
              // System.out.println("!"+pageCourante+" a plusieurs pages");
              new Thread(new Parser(infosSociete, infosMotCles, maBD, link, logger)).start();

              try {
                Thread.sleep(3500); // On wait 3.5 sec
              } catch (Exception e) {
              }
            }
          }
        }
      }
    } catch (Exception ex) {
      logger.log(Level.WARNING, "Parsing error - {0}", url + " - " + ex.toString());
    } finally {
      return;
    }
  }