В этой статье описывается реализация Java, ползающего всеми предыдущими функциями. Поделитесь этим для вашей ссылки, следующим образом:
Должно быть мечта, что, если он реализован? Я считаю, что у друзей, которые часто покупают шарики Shuangse, у меня будет вопрос, каковы были результаты предыдущих шаров Shuangse? Мне нравится, выиграл ли второй цвет мяча первого приза в предыдущем периоде? Если он был выигран, я могу в основном отказаться от этой ставки, потому что не должно быть двух последовательных ничьей в двух вторых цветных шариках в истории, верно? Так каковы были результаты предыдущих розыгрышей? Я написал простой класс в Java, чтобы ползти все результаты лотереи с двойным цветом. Первоначально я хотел разработать версию Android, но поскольку пользовательский интерфейс и другие вещи занимают время, чтобы подготовиться, я разработаю ее снова, если у меня будет шанс.
Импорт java.io.bufferedReader; импорт java.io.bufferedwriter; import java.io.file; импорт java.io.filewriter; импорт java.io.ioexception; импорт java.io.inputstream; import java.io.inputStreamReader; import java.net.httpurlContection. java.util.regex.matcher; import java.util.regex.pattern; import java.util.zip.gzipinputstream; открытый класс Allballs {Private Static Buffer 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 pagecontcontent = gethtmlstring (homeurl); int pagecount = getPageCount (PageCountContent); if (pagecount> 0) {for (int i = 1; i <= pagecount; i ++) {string url = baseurlprefix + i + baseurlsuffix; String pagecontent = gethtmlstring (url); if (pagecontent! = null &&! pagecontent.equals ("")) {getoneterMcontent (pagecontent); } else {System.out.println ("Thread" + i + "страница потерян"); } try {thread.sleep (1200); } catch (Exception e) {// todo: обрабатывать exception}} file file = new File ("Double Color Ball.txt"); if (file.exists ()) {file.delete (); } try {fileWriter writer = new FileWriter (file); BufferedWriter BufferedWriter = New BufferedWriter (писатель); BufferedWriter.Write (mStringBuffer.toString ()); BufferedWriter.Close (); writer.close (); } catch (ioException e) {// todo автоматически сгенерированный блок e.printstacktrace (); } // BufferedWriter Writer = new BufferedWriter (новые выходы)} else {System.out.println ("Страницы результатов равен 0"); } System.out.println ("overse!"); }/*** Получите общее количество страниц* @param result*/private static int getPageCount (string result) {string regex = "// d+/"> последняя страница "; pattern = pattern.compile (regex); matcher matcher = pattern.matcher (result); string [] splits = null; content.split ("/" "); перерыв; } if (splits! = null && splits.length == 2) {string guntstring = splits [0]; if (counttring! = null &&! counttring.equals ("")) {return integer.parseint (counttring); }} return 0; } / *** Получить исходный код веб -страницы* @return* / private static String gethtmlString (String targetUrl) {String content = null; Httpurlconnection connection = null; try {url url = new URL (TargetUrl); connection = (httpurlconnection) url.openconcenection (); connection.setrequestmethod ("post"); Connection.SetRequestProperty («Пользовательский агент», «Mozilla/4.0 (совместимый; msie 7.0; Windows 7)»); Connection.SetRequestProperty ("Accept", "Image/GIF, Image/x-xbitMap, Image/jpeg, Image/pjpeg, Application/x-shockwave-flash, Application/vnd.ms-powerpoint, Application/vnd.ms-excel, application/msword, */ *"); Connection.SetRequestProperty ("Accept-Language", "ZH-CN"); connection.setrequestproperty ("ua-cpu", "x86"); // Почему нет дефтата? Connection.SetRequestProperty («Принятие-кодирование», «gzip»); Connection.SetRequestProperty ("Content-Type", "Text/HTML"); // Keep-alive, что такое использование? Вы не посещаете веб -сайт, вы собираете его. Эй, Хей. Снятие давления на других также снижает себя. Connection.SetRequestProperty («Connection», «Close»); // Не используйте кеш, он бесполезен, потому что мы не будем часто получать доступ к ссылке. (Для программы) Connection.SetUseCaches (false); connection.setConnecttimeout (6 * 1000); Connection.SetReadTimeOut (6 * 1000); connection.setDoOutput (true); connection.setDoinput (true); connection.setrequestproperty ("charset", "UTF-8"); connection.connect (); if (200 == connection.getResponsecode ()) {inputStream inputStream = null; if (connection.getContentEncoding ()! = null &&! Connection.getContentEncoding (). equals ("")) {string encode = connection.getContentEncoding (). tolowercase (); if (encode! = null &&! encode.equals ("") && encode.indexof ("gzip")> = 0) {inputstream = new gzipinputstream (connection.getInputStream ()); }} if (null == inputStream) {inputStream = connection.getInputStream (); } BufferedReader Reader = new BufferedReader (New InputStreamReader (inputStream, "UTF-8")); StringBuilder Builder = new StringBuilder (); String line = null; while ((line = reader.readline ())! = null) {builder.append (line) .append ("/n"); } content = builder.toString (); }} catch (Exception e) {e.printstackTrace (); } наконец {if (connection! = null) {connection.disconnect (); }} return Content; } private static void getOneterMContent (string pageContent) {string regex = "<td align =/" center/"style =/" ladding-left: 10px;/"> [// s/s]+? </em> </td>"; Шаблон = pattern.compile (regex); Matcher Matcher = pattern.matcher (pagecontent); while (matcher.find ()) {string onetermContent = matcher.group (); getonetermmans (onetermcontent); }} private static void getOnetermNumbers (string onetermContent) {string regex = "> // d+<"; Шаблон = pattern.compile (regex); Matcher Matcher = pattern.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"); }}Результаты работы:
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"
Я надеюсь, что эта статья будет полезна для всех Java Programming.