menjelaskan
Contoh ini dapat memantau tombol snap-up Juhuasuan, dan secara otomatis memunculkan halaman ketika waktu pengumpulan poin penuh Juhuasuan tiba (URL didefinisikan dengan sendirinya).
Anda dapat menyesuaikan pemantauan beberapa menit terakhir, dan juga mempercepat kecepatan penyegaran melalui multithreading.
Kode Sumber
paket com.itechzero.pricemonitor; impor java.io.bufferedInputStream; impor java.io.bufferedReader; impor java.io.inputStreamReader; impor java.io.inputStreamReader; impor java.io.outputStreamWriter; impor java.net.uri; impor java.net.url; impor java.net.urlconnection; impor java.text.simpledateFormat; impor java.util.date; / ** * pricemonitor.java * * @author techzero * @email [email protected] * @Time 2014-5-21 1:24:30 pm */ class mythread memperluas utas {public void run () {coba {// parameter di sini adalah jumlah menit pemantauan pricemonitor.monitoritorbuton (parameter) di sini adalah jumlah menit pemantauan pricemonitoritor.monitoritorbutbuton (10) } catch (Exception e) {E.PrintStackTrace (); }}}}; Public Class Pricemonitor {// Produk Monitor URL Private Static String URL = "http://detail.ju.taobao.com/home.htm?spm=608.2214381.3.1.adpejn&item_id=38260927591&Adpejn&Item_id=38260927591&adpejn&Item_id=38260927591&adpejn & // tombol pemantauan public static void monitorbutton (int lastminute) {int nowminute = integer.parseint (new SimpleDateFormat ("mm"). Format (new date ())); int endminute = integer.parseint (new SimpleDateFormat ("mm"). format (tanggal baru ())) + lastminute; while (NowMinute <endminute) {nowminute = integer.parseint (new SimpleDateFormat ("mm"). format (new date ())); Hasil string [] = getCurrentButton danform (url, "gb2312"). Split (","); // string status tombol saat ini surrentButton = hasil [0]; // ambil formulir segera // Formulir String = hasil [1]; String nowtime = new SimpleDateFormat ("yyyy-mm-dd hh: mm: ss"). Format (tanggal baru ()); System.out.println (sekarang waktu + " - sekarang tombolnya adalah" + currentButton); if (currentButton == "get now" || currentButton.equals ("get now") || currentButton == "get now" || currentbutton.equals ("get now")) {System.out.println ("Get Now!"); coba {java.awt.desktop.getdesktop (). Browse (URI baru (url)); } catch (Exception e) {E.PrintStackTrace (); } // dopost (form); merusak; } lain jika (currentButton == "terjual habis" || currentbutton.equals ("terjual habis") || currentbutton.equals ("ended") || currentbutton.equals ("ended")) {System.out.println ("Coba lagi waktu berikutnya!"); merusak; } else {System.out.println ("Belum dimulai, tunggu!"); }}} // Dapatkan tombol saat ini status public string statis getCurrentButtonAndform (string url, string encoding) {if (url == null || "" .equals (url.trim ())) return null; String buttonstate = ""; StringBuffer Content = New StringBuffer (); boolean formflag = false; Coba {// Buat URL URL baru URL U = URL baru (URL); InputStream IS = BufferedInputStream baru (u.openstream ()); InputStreamReader thehtml = inputStreamReader baru (IS, encoding! = NULL? Pengkodean: "GB2312"); BufferedReader BR = BufferedReader baru (thehtml); String s = ""; while ((s = br.readline ())! = null) {if (s.indexof ("<input type =/" kirim/"class =/" buyaction j_buysubmit/"title =/" ambil/"value =/" ambil/"/>")! = -1) {ButtonState = "ambil/"; } lain jika (s.indexof ("<a href =/"#/"class =/" Pemberitahuan tambahan j_buybuttonsub/"> Pengingat pembukaan tim </a>")! = -1) {ButtonState = "Pengingat pembukaan tim"; } lain if (s.indexof ("<div class = /" Main -box Chance /">")! = -1) {ButtonState = "Sold Out"; } lain jika (s.indexof ("<span class =/" out floatright/"> terjual habis ... </span>")! = -1) {ButtonState = "Sold out"; } lain jika (s.indexof ("<span class =/" out floatright/"> berakhir ... </span>")! = -1) {buttonState = "ended"; } if (s.indexof ("<bentuk class =/" j_buysubform/"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 =/" kirim/"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 "Open URL Error"; } return buttonstate + "," + konten; } // Kirim formulir public static string dopost (Formulir String) {stringBuffer content = new stringBuffer (); coba {URLConnection Connection = URL baru (url) .openconnection (); Connection.setDoOutput (true); OutputStreamWriter os = outputStreamWriter baru (connection.getoutputStream (), "UTF-8"); os.write (form); os.flush (); os.close (); InputStream adalah = connection.getInputStream (); InputStreamReader thehtml = inputStreamReader baru (IS); BufferedReader BR = BufferedReader baru (thehtml); String s = ""; while ((s = br.readline ())! = null) {content.append (s + "/r/n"); }} catch (Exception e) {e.printstacktrace (); } // kembalikan konten halaman yang dikembalikan setelah mengirimkan formulir return content.toString (); } // Masuk di public static void dologin (string username, string password) {string form = "<Form id =/" j_staticform/"action =/" https://login.taobao.com/member/login.jhtml/ "Method =/" post/"Autocompete =/" ON/"" "" "" "" "" id =/"tpl_username_1/" value =/"" + username + "/"> <input type =/"password/" name =/"tpl_password/" id =/"tpl_password_1/" value =/"" + "/"> <input type =/"hidden/" id =/"j_tpl +"/"> <input type =/" hiddid/"id =/" J_TPL/"J_TPL/" J_TPL_ name =/"tpl_redirect_url/" value =/"http://www.taobao.com/?spm=A2107.1.1000340.1.al2mpn/"> <type type =/"kirim/" id =/"j_submitstatic/"> LOGIN </BULTOM/"ID =/" J_SUBMITSTATIC/"> LOGIN </BULTOM/" ID =/"J_SUBMItSTATIC/"> LOGIN </TOLOG/BUTTOM; dopost (bentuk); } public static void main (string [] args) {// dologin (); // mythread baru (). start (); // mythread baru (). start (); // mythread baru (). start (); // mythread baru (). start (); // mythread baru (). start (); }}
Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.