Dieser Artikel beschreibt die Java -Implementierung von Kriechen aller früheren Funktionen. Teilen Sie es für Ihre Referenz wie folgt weiter:
Es muss einen Traum geben, was ist, wenn er verwirklicht wird? Ich glaube, dass Freunde, die oft Shuangse -Bälle kaufen, und ich werde eine Frage haben. Was waren die Ergebnisse der vorherigen Shuangse -Bälle? Mir gefällt, ob der zweite Farbball den ersten Preis in der Vorperiode gewonnen hat? Wenn es gewonnen wurde, kann ich diese Wette im Grunde aufgeben, da es in den zwei zweiten Farbkugeln in der Geschichte nicht zwei aufeinanderfolgende Unentschieden geben sollte, oder? Was waren die Ergebnisse früherer Zeichnen? Ich habe eine einfache Klasse in Java geschrieben, um alle Ergebnisse der Doppel -Farbball -Lotterie zu kriechen. Ich wollte ursprünglich die Android -Version entwickeln, aber da die Benutzeroberfläche und andere Dinge Zeit brauchen, werde ich sie wieder entwickeln, wenn ich die Chance habe.
Import Java.io.BufferedReader; Import Java.io.BuffenWriter; Import Java.io.file; Import Java.io.FileWriter; Import Java.io.ioxception; Import Java.io.inputstream; java.util.regex.matcher; import java.util.regex.pattern; import java.util.zip.gzipinputstream; öffentliche Klasse Allballs {private statische StringBuffer MstringBuffer; public static void main (String [] args) {System.out.println ("Geting ..."); mStringBuffer = new StringBuffer (); String baseUrlprefix = "http://kaijiang.zhcw.com/zhcw/html/SSQ/List_"; String baseUrlsuffix = ".html"; String homeurl = "http://kaijiang.zhcw.com/zhcw/html/SSQ/List_1.html"; String pageCountContent = GethtmlString (homEURL); int pageCount = getPageCount (pageCountContent); if (pageCount> 0) {für (int i = 1; i <= pageCount; i ++) {String url = baseUrlprefix + i + baseUrlsuffix; String pageContent = GethtmlString (URL); if (pageContent! = null &&! } else {System.out.println ("Thread" + i + "Seite verloren"); } try {thread.sleep (1200); } catch (Exception E) {// toDo: Handle -Ausnahme}} file = neue Datei ("Double Color Ball.txt"); if (file.exists ()) {file.delete (); } try {FileWriter writer = new FileWriter (Datei); BufferedWriter BufferedWriter = New BufferedWriter (Autor); bufferedWriter.write (mstringBuffer.toString ()); bufferedWriter.close (); writer.close (); } catch (ioException e) {// Todo automatisch generierter Catch-Block e.printstacktrace (); } // bufferedWriter writer = new bufferedWriter (neue Ausgänge)} else {System.out.println ("Ergebnisseiten sind 0"); } System.out.println ("complete!"); }/*** Erhalten Sie die Gesamtzahl der Seiten* @param Ergebnis*/private statische int getPageCount (String -Ergebnis) {String regex = "// d+/"> letztes Seite "; mustermuster = muster. content.Split ("/" "); brechen; } if (spaltungen! if (countstring! }} return 0; } / *** den Webseiten -Quellcode erhalten* @return* / private statische String GethtmlString (String targeturl) {String content = null; HttpurlConnection Connection = null; try {url url = new URL (targeturl); connection = (httpurlConnection) url.openconnection (); Connection.SetRequestMethod ("Post"); Connection.SetRequestProperty ("Benutzer-Agent", "Mozilla/4.0 (kompatibel; MSIE 7.0; Windows 7)"); connection.setRequestProperty ("Akzeptieren", "Image/GIF, Bild/X-Xbitmap, Image/JPEG, Image/PJPEG, Anwendung/X-Shockwave-Flash, Application/Vnd.ms-Powerpoint, Application/Vnd.ms-excel, Anwendung/MSWord, */ *"); connection.setRequestProperty ("Akzeptieren Sie Sprache", "ZH-CN"); Connection.SetRequestProperty ("UA-CPU", "x86"); // Warum gibt es keine Deflate? Connection.setRequestProperty ("Akzeptieren", "gzip"); Connection.SetRequestProperty ("Inhaltstyp", "Text/HTML"); // Keep-Alive, was nützt es? Sie besuchen die Website nicht, Sie sammeln sie. Hey-hey. Die Linderung des Drucks auf andere verringert sich ebenfalls. Connection.SetRequestProperty ("Verbindung", "Close"); // Verwenden Sie keinen Cache, es ist nutzlos, da wir nicht häufig auf einen Link zugreifen. (Für das Programm) Connection.SetUSecaches (Falsch); Connection.SetConnectTimeout (6 * 1000); Connection.SetReadTimeout (6 * 1000); connection.setDooutput (true); Connection.SetDoInput (true); Connection.SetRequestProperty ("Charset", "UTF-8"); Connection.Connect (); if (200 == Connection.getResponSCode ()) {inputStream inputStream = null; if (Connection.GetContentCoding ()! if (codode! }} if (null == inputStream) {inputStream = connection.getInputStream (); } BufferedReader reader = neuer bufferedReader (neuer InputStreamReader (InputStream, "UTF-8"); StringBuilder Builder = new StringBuilder (); String line = null; while ((line = reader.readline ())! } content = builder.toString (); }} catch (Ausnahme e) {e.printstacktrace (); } endlich {if (connection! = null) {connection.disconnect (); }} Inhalt zurückgeben; } private statische void GetonTerMContent (String pageContent) {String regex = "<td align =/" center/"style =/" padding-left: 10px;/"> [// s // s]+? </em> </td>"; Muster muster = muster.comPile (regex); Matcher Matcher = muster.Matcher (pageContent); while (matcher.find ()) {String onEetermContent = matcher.group (); Getonetermnumbers (OnetermContent); }} private statische void GetoneterMnumbers (String onEtermContent) {String regex = "> // d+<"; Muster muster = muster.comPile (regex); Matcher Matcher = muster.Matcher (OnetermContent); while (matcher.find ()) {String content = matcher.group (); String ballnumber = content.substring (1, content.length ()-1); MStringBuffer.Append (BallNumber) .Append (""); } mstringBuffer.Append ("/r/n"); }}Auslaufergebnisse:
For more information about Java related content, please check out the topics of this site: "Summary of Java Network Programming Skills", "Summary of Java Socket Programming Skills", "Summary of Java File and Directory Operation Skills", "Tutorial on Java Data Structure and Algorithm", "Summary of Java Operation DOM Node Skills" and "Summary of Java Cache Operation Skills"
Ich hoffe, dieser Artikel wird für Java -Programme aller hilfreich sein.