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); } } }