illustrer
Cet exemple peut surveiller le bouton Snap-Up de Juhuasuan et apparaître automatiquement la page lorsque le temps de la collecte de points complète de Juhuasuan arrive (l'URL est définie par elle-même).
Vous pouvez personnaliser la surveillance des dernières minutes et accélérer également la vitesse de rafraîchissement grâce à la lecture multithre.
Code source
package com.itechzero.priceMonitor; Importer java.io.BufferedInputStream; Importer java.io.bufferedReader; Importer java.io.inputStreamReader; Importer java.io.inputStreamReader; import java.io.outputStreamWriter; importer java.net.uri; Importer java.net.url; import java.net.urlconnection; import java.text.simpledateFormat; Importer java.util.date; / ** * pricemonitor.java * * @author Techzero * @email [email protected] * @time 2014-5-21 1:24:30 PM * / class Mythread étend Thread {public void run () {try {// Le paramètre ici est le nombre de minutes de surveillance du prix de surveillance.Monitorbutton (10); } catch (exception e) {e.printStackTrace (); }}}}; Classe publique Primemonitor {// L'URL du produit surveillé URL privé Static String url = "http://detail.ju.taobao.com/home.htm?spm=608.2214381.3.1.adpejn&item_id=38260927591&id=10000002781939";; // Button de surveillance publique static void monitorbutton (int lastMinute) {int nowMinute = Integer.ParseInt (new SimpledateFormat ("MM"). Format (new Date ())); int EndMinute = Integer.ParseInt (new SimpledateFormat ("MM"). Format (new Date ())) + LastMinute; while (NowMinute <EndMinute) {NowMinute = Integer.ParseInt (new SimpledateFormat ("MM"). Format (new Date ())); Résultat de la chaîne [] = getCurrentButtonAndForm (URL, "GB2312"). Split (","); // State de bouton actuel String currentButton = result [0]; // Saisissez le formulaire immédiatement // Form de chaîne = résultat [1]; String NowTime = new SimpledateFormat ("Yyyy-mm-dd hh: mm: ss"). Format (new Date ()); System.out.println (maintenant + "- maintenant le bouton est" + currentButton); if (currentButton == "Get Now" || CurrentButton.equals ("Get Now") || CurrentButton == "Get Now" || CurrentButton.equals ("Get Now")) {System.out.println ("Get Now!"); essayez {java.awt.desktop.getdesktop (). Browse (new Uri (url)); } catch (exception e) {e.printStackTrace (); } // doPost (form); casser; } else if (currentButton == "Sold out" || currentButton.equals ("Sold out") || CurrentButton.equals ("terminé") || CurrentButton.equals ("terminé")) {System.out.println ("Ressaier la prochaine fois!"); casser; } else {System.out.println ("pas encore démarré, attendez!"); }}} // Obtient le statut de bouton actuel Stat Public Static String getCurrentButtonAndForm (URL de chaîne, codage de chaîne) {if (url == null || "" .equals (url.trim ())) renvoie null; String Buttonstate = ""; StringBuffer Content = new StringBuffer (); booléen formflag = false; essayez {// créer une nouvelle URL URL URL U = nouvelle URL (URL); InputStream est = new BufferedInputStream (U.OpenStream ()); InputStreamReader thehtml = new inputStreamReader (est, codage! = Null? Encoding: "gb2312"); BufferedReader br = new BufferedReader (theHTML); String s = ""; while ((s = br.readline ())! = null) {if (s.indexof ("<input type = /" soumide / "class = /" buyaction j_buysubmit / "title = /" grail / "value = /" grail / "/>")! = -1) {buttonstate = "Grab /"; } else if (S.Indexof ("<a href = /" # / "class = /" Avis supplémentaire j_buybuttonsub / "> Rappel d'ouverture de l'équipe </a>")! = -1) {ButtonState = "Team Opening Rappel"; } else if (S.Indexof ("<div class = /" Main-box chance / ">")! = -1) {ButtonState = "Sold Out"; } else if (s.indexof ("<span class = /" out flomight / "> vendu ... </span>")! = -1) {ButtonState = "Sold Out"; } else if (S.Indexof ("<span class = /" out flotright / "> terminé ... </span>")! = -1) {ButtonState = "EndEd"; } if (s.indexof ("<form class = /" j_buyysubform / "data-ccb = /" 0 / "data-ques = /" 0 / "action")! = -1) {content.append (s + "/ r / n"); formFlag = true; } if (formFlag == true) {if (s.indexof ("<input name = / '_ tb_token_ /' type = / 'Hidden /' value")! = -1) {content.append (s + "/ r / n"); } if (s.indexof ("<input type = /" Hidden / "name = /" _ input_charset / "value")! = -1) {content.append (s + "/ r / n"); } if (s.indexof ("<input type = /" Hidden / "name = /" itemId / "value")! = -1) {content.append (s + "/ r / n"); } if (s.indexof ("<input type = /" Hidden / "name = /" id / "value")! = -1) {content.append (s + "/ r / n"); } if (s.indexof ("<input type = /" Hidden / "name = /" id / "value")! = -1) {content.append (s + "/ r / n"); } if (s.indexof ("<input type = /" Hidden / "name = /" tgType / "value")! = -1) {content.append (s + "/ r / n"); } if (s.indexof ("<input type = /" soumid / "class = /" buyaction j_buysubmit / "")! = -1) {content.append (s + "/ r / n"); } if (s.indexof ("<div class = /" Time-Banner / ">")! = -1) {content.append (s + "/ r / n"); }} if (s.indexof ("<div class = /" Time-Banner / ">")! = -1) {Break; }} br.close (); } catch (exception e) {System.err.println (e); return "Erreur d'URL ouverte"; } return ButtonState + "," + Content; } // Soumettre le formulaire public static static doPost (string form) {stringBuffer contenu = new StringBuffer (); try {urlConnection connection = new URL (url) .openconnection (); connection.setDoOutput (true); OutputStreamWriter OS = new OutputStreamWriter (Connection.getOutputStream (), "UTF-8"); OS.Write (formulaire); os.flush (); os.close (); InputStream est = connection.getInputStream (); InputStreamReader theHtml = new inputStreamReader (IS); BufferedReader br = new BufferedReader (theHTML); String s = ""; while ((s = br.readline ())! = null) {content.append (s + "/ r / n"); }} catch (exception e) {e.printStackTrace (); } // renvoie le contenu de la page renvoyé après avoir soumis le formulaire return contenu.toString (); } // Connectez-vous en public static void dologin (nom d'utilisateur de chaîne, mot de passe de chaîne) {String Form = "<form id = /" j_stating / "action = /" https://login.taobao.com/member/login.jhtml/ "method = /" post / "autocank id = / "tpl_username_1 /" value = / "" + nom d'utilisateur + "/"> <input type = / "mot de passe /" name = / "tpl_password /" id = / "tpl_password_1 /" value = / "+ mot de passe +" / "> <input type = /" tpp_reirct_url / " Value = / "http://www.taobao.com/?spm=a2107.1.1000340.1.al2mpn/"> <bouton type = / "soumis /" id = / "j_submitStatic /"> Login </ Button> </ form> "; doPost (forme); } public static void main (String [] args) {// dologin (); // new mythread (). start (); // new mythread (). start (); // new mythread (). start (); // new mythread (). start (); // new mythread (). start (); }}
Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.