veranschaulichen
In diesem Beispiel kann die Snap-up-Taste von Juhuasuan überwacht und die Seite automatisch aufgetaucht werden, wenn die Zeit von Juhuasuans Vollpunkt-Sammlung eintrifft (die URL wird von selbst definiert).
Sie können die Überwachung der letzten Minuten anpassen und die Erfrischungsgeschwindigkeit durch Multithreading beschleunigen.
Quellcode
Paket com.itechzero.pricemonitor; import Java.io.BufferedInputStream; Import Java.io.BufferedReader; importieren java.io.inputStreamReader; importieren java.io.inputStreamReader; importieren java.io.outputStreamwriter; importieren java.net.uri; importieren java.net.url; importieren java.net.urlConnection; Java.Text.SimpledateFormat importieren; import Java.util.date; / ** * pricemonitor.java * * @author techzero * @email [email protected] * @time 2014-5-21 1:24:30 PM */ class myThread erweitert Thread {public void run () {try {// Der Parameter hier ist die Anzahl der Minuten der Überwachung des Pricemonitors.Monitorbutton (10); } catch (Ausnahme e) {e.printstacktrace (); }}}}; public class pricemonitor {// Das überwachte Produkt url private statische String -String -URL = "http://detail.ju.taobao.com/home.htm?spm=608.2214381.3.1.Adpejn&item_id=38260927591&id=100000000278193939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939. // Überwachung Schaltfläche öffentlich statische Leerraummonitorbutton (int lastminute) {int nowminute = Integer.ParSInt (new SimpledateFormat ("mm"). Format (neues Datum ()); int EndMinute = Integer.ParseInt (new SimpledateFormat ("mm"). Format (neues Datum ()) + lastminute; while (nowMinute <endMinute) {nowMinute = Integer.ParseInt (new SimpledateFormat ("mm"). Format (neues Datum ()); String -Ergebnis [] = GetCurrentButtonAndform (URL, "GB2312"). Split (","); // aktuelle Schaltfläche Statuszeichenfolge CurrentButton = Ergebnis [0]; // das Formular sofort greifen // String Form = Ergebnis [1]; String NowTime = new SimpledateFormat ("yyyy-mm-dd hh: mm: ss"). Format (neues Datum ()); System.out.println (Now time + " - jetzt ist die Schaltfläche" + currentButton); if (currentbutton == "Now" || currentbutton.equals ("Get Now") || currentButton == "Get Now" || currentbutton.equals ("Get Now") {System.out.println ("Get Now!"); try {java.awt.desktop.getDesktop (). Durchsuchen (neue URI (URL)); } catch (Ausnahme e) {e.printstacktrace (); } // Dopost (Form); brechen; } else if (currentbutton == "ausverkauft" || currentButton.equals ("ausverkauft") || currentButton.equals ("beendet") || currentButton.equals ("Ended") {System.out.println ("Versuchen Sie es beim nächsten Mal erneut!"); brechen; } else {System.out.println ("Noch nicht begonnen, warte!"); }}} // Erhalten Sie den aktuellen Button -Status öffentlich statischer String getCurrentButtonAndform (String -URL, String -Codierung) {if (url == null || "" .Equals (url.trim ()) return null; String buttonState = ""; StringBuffer content = new StringBuffer (); boolesche Formflag = false; Versuchen Sie {// neue URL -Objekt -URL u = neue URL (URL); InputStream ist = neuer BufferedInputStream (U.OpenStream ()); InputStreamReader theHtml = new InputStreamReader (IS, Codierung! = NULL? CODING: "GB2312"); BufferedReader BR = New BufferedReader (theHtml); String S = ""; while ((s = br.readline ())! } else if (S.Indexof ("<a href =/"#/"class =/" Extra Notiz J_BUYbuttonSub/"> Team Öffnungserinnerung </a>")! } else if (S.Indexof ("<div class = /" Main -Box -Chance /">")! = -1) {buttonState = "ausverkauft"; } else if (S.Indexof ("<span class =/" out floatright/"> ausverkauft ... </span>")! = -1) {buttonState = "ausverkauft"; } else if (S.Indexof ("<span class =/" out floatright/"> beendet ... </span>")! = -1) {buttonState = "Ended"; } if (S.Indexof ("<Formular class =/" j_buysubform/"data-ccb =/" 0/"data-ques =/" 0/"Aktion")! = -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 ("<Eingabe type =/" Hidden/"name =/" _ input_charset/"value")! = -1) {content.append (s + "/r/n"); } if (S.Indexof ("<Eingabe type =/" Hidden/"name =/" itemId/"value")! = -1) {content.Append (s + "/r/n"); } if (S.Indexof ("<Eingabe type =/" Hidden/"name =/" id/"value")! = -1) {content.Append (s + "/r/n"); } if (S.Indexof ("<Eingabe type =/" Hidden/"name =/" id/"value")! = -1) {content.Append (s + "/r/n"); } if (S.Indexof ("<Eingabe type =/" Hidden/"name =/" tGType/"value")! = -1) {content.append (s + "/r/n"); } if (S.Indexof ("<Eingabe type =/" subieren/"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 (Ausnahme e) {System.err.println (e); zurück "offener URL -Fehler"; } return buttonState + "," + Inhalt; } // Senden Sie das Formular public static String dopost (String -Formular) {StringBuffer content = new StringBuffer (); try {urlConnection Connection = new URL (URL) .OpenConnection (); connection.setDooutput (true); OutputStreamwriter os = new outputStreamWriter (connection.getOutputStream (), "utf-8"); OS.Write (Form); os.flush (); os.close (); InputStream ist = connection.getInputStream (); InputStreamReader thtml = neuer InputStreamReader (IS); BufferedReader BR = New BufferedReader (theHtml); String S = ""; while ((s = br.readline ())! = null) {content.Append (s + "/r/n"); }} catch (Ausnahme e) {e.printstacktrace (); } // Rückgabe des Seiteninhalts, der nach dem Senden des Formulars return content.toString () zurückgegeben wurde; } // Loget im öffentlichen statischen void Dologin (String -Benutzername, String -Passwort) {String Form = "<Form ID =/" J_STATICFORM/"Action =/" https://login.taobao.com/Member/login.jhtml/ "methode =/" post/"post/"/"/"/"/" -Name/"/"/"/" "-Name/"/"/"/"" -Name/"/"/""/"/"/""/""/"/" "/" "/" "/". id=/"TPL_username_1/" value=/"" + username + "/"><input type=/"password/" name=/"TPL_password/" id=/"TPL_password_1/" value=/"" + password + "/"><input type=/"hidden/" id=/"J_TPL_redirect_url/" name=/"TPL_redirect_url/" value =/"http://www.taobao.com/?spm=A2107.1.1000340.1.Al2MPN/"> <Button type =/"subieren/" id =/"j_submitstatic/"> Login </button> </Form> "; Dopost (Form); } public static void main (String [] args) {// dologin (); // New MyThread (). starten (); // New MyThread (). starten (); // New MyThread (). starten (); // New MyThread (). starten (); // New MyThread (). starten (); }}
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.