Beispiel #1
0
  public void checkprice() throws Exception {

    // System.out.println("checking Aptamil url [" + page.url + "]");
    URL url = new URL(page.url);
    HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
    urlConnection.setConnectTimeout(Constant.connect_timeout);
    urlConnection.connect();

    Parser parser = new Parser(urlConnection);

    parser.setEncoding(Constant.ENCODE);
    NodeClassFilter div_filter = new NodeClassFilter(Div.class);

    OrFilter filters = new OrFilter();
    filters.setPredicates(new NodeFilter[] {div_filter});

    NodeList list = parser.extractAllNodesThatMatch(filters);

    for (int i = 0; i < list.size(); i++) {
      Node tag = list.elementAt(i);
      if (tag instanceof Div) {
        Div d = (Div) tag;
        String divclass = d.getAttribute("class");
        if ("pl_addToBasket".equalsIgnoreCase(divclass)) {
          // return getName(d);
        }
      }
    }
  }
  public boolean checkprice() {
    System.out.println("checking amazon url:" + page.url);
    try {

      URL url = new URL(page.url);
      HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
      urlConnection.setConnectTimeout(Constant.connect_timeout);

      Parser parser = new Parser(urlConnection);
      parser.setEncoding(Constant.ENCODE);

      // OrFilter lastFilter = new OrFilter();
      // lastFilter.setPredicates(new NodeFilter[] {
      // new NodeClassFilter(TableTag.class),
      // new NodeClassFilter(Div.class) });
      //
      // NodeList list = parser.extractAllNodesThatMatch(lastFilter);

      NodeList list = parser.extractAllNodesThatMatch(new NodeClassFilter(Div.class));
      System.out.println("size:" + list.size());

      for (int i = 0; i < list.size(); i++) {
        Node tag = list.elementAt(i);

        if (tag instanceof Div) {
          Div d = (Div) tag;
          System.out.println(d.getAttribute("id"));

          if (d.getAttribute("id").startsWith("result_")) {
            // found one product
            try {
              AmazonProduct product = new AmazonProduct();
              product.name = d.getAttribute("name");
              getPriceAndLabel(d, product);

            } catch (Exception e) {
              e.printStackTrace();
            }
          }
        }
      }

    } catch (Exception e) {
      System.out.println(e.getMessage());
    }
    return false;
  }
  public void checkprice() throws Exception {
    // System.out.println("checking drugstore url:" + page.getUrl());

    String cookies = ""; // DrugstoreLogin.getCookies();

    URL url = new URL(page.getUrl());
    HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
    urlConnection.setConnectTimeout(Constant.connect_timeout);
    urlConnection.setRequestProperty(
        "User-Agent", "Mozilla/5.0 (compatible; MSIE 6.0; Windows NT)");
    urlConnection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");

    urlConnection.setRequestProperty("Cookie", cookies);

    urlConnection.connect();
    // InputStream is = urlConnection.getInputStream();
    //
    // BufferedReader reader = new BufferedReader(new
    // InputStreamReader(is));
    //
    // String s;
    // StringBuilder result = new StringBuilder();
    // while (((s = reader.readLine()) != null)) {
    // result.append(s);
    // }
    //
    // System.out.println("result= " + result.toString());
    //
    // is.close();

    Parser parser = new Parser(urlConnection);

    parser.setEncoding(Constant.ENCODE);

    NodeFilter name_filter3 =
        new AndFilter(
            new NodeClassFilter(Div.class), new HasAttributeFilter("id", "divAvailablity"));
    NodeFilter name_filter4 =
        new AndFilter(new NodeClassFilter(Div.class), new HasAttributeFilter("id", "productprice"));

    OrFilter lastFilter = new OrFilter();
    lastFilter.setPredicates(
        new NodeFilter[] {new NodeClassFilter(TitleTag.class), name_filter3, name_filter4});

    NodeList list = parser.extractAllNodesThatMatch(lastFilter);
    for (int i = 0; i < list.size(); i++) {
      Node tag = list.elementAt(i);
      if (tag instanceof TitleTag) {
        TitleTag d = (TitleTag) tag;
        page.title = d.getTitle().replaceAll("drugstore.com", "").replaceAll("\\|", "").trim();
      } else if (tag instanceof Div) {
        Div d = (Div) tag;
        String sStr = d.getStringText();
        // System.out.println(sStr);
        if ("productprice".equalsIgnoreCase(d.getAttribute("id"))) {
          page.price = getPrice(sStr);
        } else if ("divAvailablity".equalsIgnoreCase(d.getAttribute("id"))) {
          if (sStr.indexOf("In Stock") >= 0 || sStr.indexOf("in stock") >= 0) {
            page.instock = true;
          }
        }
        // System.out.println(d.getStringText());
        // getinStock(d);
      }
    }
  }