麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > Java > 正文

Java實現爬取往期所有雙色球開獎結果功能示例

2024-07-14 08:41:33
字體:
來源:轉載
供稿:網友

本文實例講述了Java實現爬取往期所有雙色球開獎結果功能。分享給大家供大家參考,具體如下:

夢想還是要有的,萬一實現了呢?我相信經常買雙色球的朋友和我都會有一個疑問,就是往期雙色球的開獎結果是什么?我鐘意的這一注雙色球在往期是否開過一等獎,如果開過的話,基本上可以放棄這一注了,因為歷史上應該沒有出現過兩期雙色球開獎完全一致的吧?那么往期的開獎結果是什么呢?我自己用Java寫了一個簡易的類,爬取所有雙色球開獎結果,本來想開發安卓版本的,由于UI等需要時間準備,有緣再開發吧。

import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.URL;import java.util.regex.Matcher;import java.util.regex.Pattern;import java.util.zip.GZIPInputStream;public class AllBalls { private static StringBuffer mStringBuffer; public static void main(String[] args) {  System.out.println("正在獲取...");  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) {   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("第" + i + "頁丟失");    }    try {     Thread.sleep(1200);    } catch (Exception e) {     // TODO: handle exception    }   }   File file = new File("雙色球.txt");   if (file.exists()) {    file.delete();   }   try {    FileWriter writer = new FileWriter(file);    BufferedWriter bufferedWriter = new BufferedWriter(writer);    bufferedWriter.write(mStringBuffer.toString());    bufferedWriter.close();    writer.close();   } catch (IOException e) {    // TODO Auto-generated catch block    e.printStackTrace();   }   //BufferedWriter writer = new BufferedWriter(new OutputS)  } else {   System.out.println("結果頁數為0");  }  System.out.println("完成!"); } /**  * 獲取總頁數  * @param result  */ private static int getPageCount(String result) {  String regex = "//d+/">末頁";  Pattern pattern = Pattern.compile(regex);  Matcher matcher = pattern.matcher(result);  String[] splits = null;  while (matcher.find()) {   String content = matcher.group();   splits = content.split("/"");   break;  }  if (splits != null && splits.length == 2) {   String countString = splits[0];   if (countString != null && !countString.equals("")) {    return Integer.parseInt(countString);   }  }  return 0; }  /**  * 獲取網頁源碼  * @return  */ private static 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("User-Agent", "Mozilla/4.0 (compatible; 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");   //為什么沒有deflate呢   connection.setRequestProperty("Accept-Encoding", "gzip");   connection.setRequestProperty("Content-type", "text/html");   //keep-Alive,有什么用呢,你不是在訪問網站,你是在采集。嘿嘿。減輕別人的壓力,也是減輕自己。   connection.setRequestProperty("Connection", "close");   //不要用cache,用了也沒有什么用,因為我們不會經常對一個鏈接頻繁訪問。(針對程序)   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();  } finally {   if (connection != null) {    connection.disconnect();   }  }  return content; } private static void getOneTermContent(String pageContent) {  String regex = "<td align=/"center/" style=/"padding-left:10px;/">[//s//S]+?</em></td>";  Pattern pattern = Pattern.compile(regex);  Matcher matcher = pattern.matcher(pageContent);  while (matcher.find()) {   String oneTermContent = matcher.group();   getOneTermNumbers(oneTermContent);  } } private static void getOneTermNumbers(String oneTermContent) {  String regex = ">//d+<";  Pattern pattern = 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"); }}

運行結果:

Java,雙色球,開獎結果

希望本文所述對大家java程序設計有所幫助。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产成视频在线观看 | 欧美性生活区 | 91 成人 | 国产精品久久久久久久久久久久久久久久 | 国产精品区一区二区三区 | 精品一区免费 | 欧美一级全黄 | 男女牲高爱潮免费视频男女 | 欧美毛片| 日本在线视频二区 | 91精品观看91久久久久久国产 | 国产91精品久久久久久 | 久久久一区二区三区精品 | 天天看成人免费毛片视频 | 亚洲精品无码不卡在线播放he | 日本欧美一区二区三区在线观看 | 久久探花| 日本一区二区在线 | 欧美精品在线免费观看 | 免费黄色成人 | 成人精品视频在线 | 在线亚洲观看 | 中文字幕国产亚洲 | av色先锋 | 欧美极品欧美精品欧美视频 | 中文字幕在线视频网站 | 毛片午夜 | 成av在线 | 视频一区免费观看 | 国产精品久久久久久久四虎电影 | 蜜桃成品人免费视频 | 国产一级毛片在线看 | 色悠悠久久久久 | 亚洲精久| 欧美日韩中文字幕在线视频 | 一级黄色毛片播放 | 精品一区在线视频 | 羞羞视频入口 | 91网站链接 | 欧美成人高清视频 | 日本在线视频免费观看 |