亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

基于Java的數據采集(二)

2019-11-14 20:50:28
字體:
來源:轉載
供稿:網友
基于java的數據采集(二)

在上一篇文章《基于Java的數據采集(一)》:http://www.49028c.com/lichenwei/p/3904715.html

提到了如何如何讀取網頁源代碼,并通過group正則 動態抓取我們所需要的網頁數據

現在來寫下關于數據的存儲,思路很簡單,只需要在我們每次讀取一個數據的時候,把數據存放在臨時變量,然后插入數據庫即可。

《基于Java數據采集入庫(三)》:http://www.49028c.com/lichenwei/p/3907007.html

《基于Java數據采集入庫(終結篇)》:http://www.49028c.com/lichenwei/p/3910492.html

先來建一個表:

DoMySQL.java(數據庫連接類,并提供插入數據的方法)

 1 package com.lcw.curl; 2  3  4 import java.sql.Connection; 5 import java.sql.DriverManager; 6 import java.sql.SQLException; 7 import java.sql.Statement; 8  9 10 public class DoMySql {11   12     //定義MySql驅動,數據庫地址,數據庫用戶名 密碼, 執行語句和數據庫連接  13     public String driver = "com.mysql.jdbc.Driver";14     public String url = "jdbc:mysql://127.0.0.1:3306/football";15     public String user = "root";16     public String passWord = "";17     public Statement stmt = null;18     public Connection conn = null;19     20     //創建一個插入數據的方法21     public void datatoMySql(String insertSQl) {22 23         try {24             try {25                 Class.forName(driver).newInstance();26             } catch (Exception e) {27             28                 e.PRintStackTrace();29             }30             //創建連接31             conn = DriverManager.getConnection(url, user, password);32             //創建一個 Statement 對象來將 SQL 語句發送到數據庫33             stmt = conn.createStatement();34         } catch (SQLException e) {35             e.printStackTrace();36         }37         try {38             //執行SQL 插入語句39             stmt.executeUpdate(insertSQl);40         } catch (SQLException e) {41             e.printStackTrace();42         }43         try {44             stmt.close();45             conn.close();46         } catch (SQLException e) {47             e.printStackTrace();48         }49     }50     51 }

GetData.java(過濾數據類)

 1 package com.lcw.curl; 2  3 import java.util.regex.Matcher; 4 import java.util.regex.Pattern; 5  6 public class GetData { 7      8     /** 9      * 10      * @param regex 正則表達式11      * @param content 所要匹配的內容12      * @return13      */14     public String getData(String regex,String content){15         Pattern pattern=Pattern.compile(regex, Pattern.CASE_INSENSITIVE);//設定正則表達式,不區分大小寫16         Matcher matcher=pattern.matcher(content);17         if(matcher.find()){18             return matcher.group();19         }else{20             return "";21         }22     }23 24 }

CurlMain.java主程序類:

 1 package com.lcw.curl; 2  3 import java.io.BufferedReader; 4 import java.io.InputStreamReader; 5 import java.net.URL; 6  7 public class CurlMain { 8  9     /**10      * @param args11      */12     public static void main(String[] args) {13 14         try {15             String address = "http://www.footballresults.org/league.php?league=EngDiv1";16             URL url = new URL(address);17             InputStreamReader inputStreamReader = new InputStreamReader(url18                     .openStream(), "utf-8");// 打開地址,以UTF-8編碼的形式返回字節并轉為字符19             BufferedReader bufferedReader = new BufferedReader(20                     inputStreamReader);// 從字符輸入流中讀取文本,緩沖各個字符,從而提供字符、數組和行的高效讀取。21 22             GetData data = new GetData();23             DoMySql mySql = new DoMySql();24             String content = "";// 用來接受每次讀取的行字符25             int flag = 0;// 標志,隊伍信息剛好在日期信息后面,則正則相同,用于分離數據26             String dateRegex = "http://d{1,2}//.//d{1,2}//.//d{4}";// 日期匹配正則表達式27             String teamRegex = ">[^<>]*</a>";// 隊伍匹配正則表達式28             String scoreRegex = ">(//d{1,2}-//d{1,2})</TD>";// 比分正則表達式29             String tempDate="";30             String teama="";31             String teamb="";32             String score="";33             int i = 0;// 記錄信息條數34             String sql = "";35 36             while ((content = bufferedReader.readLine()) != null) {// 每次讀取一行數據37                 // 獲取比賽日期信息38                 String dateInfo = data.getData(dateRegex, content);39                 if (!dateInfo.equals("")) {40                     System.out.println("日期:" + dateInfo);41                     tempDate=dateInfo;42                     flag++;43                 }44                 // 獲取隊伍信息,需先讀到日期信息讓標志符自增45                 String teamInfo = data.getData(teamRegex, content);46                 if (!teamInfo.equals("") && flag == 1) {47                     teama = teamInfo.substring(1, teamInfo48                             .indexOf("</a>"));49                     System.out.println("主隊:" + teama);50                     flag++;51                 } else if (!teamInfo.equals("") && flag == 2) {52                     teamb = teamInfo.substring(1, teamInfo53                             .indexOf("</a>"));54                     System.out.println("客隊:" + teamb);55                     flag = 0;56                 }57                 // 獲取比分信息58                 String scoreInfo = data.getData(scoreRegex, content);59                 if (!scoreInfo.equals("")) {60                     score = scoreInfo.substring(1, scoreInfo61                             .indexOf("</TD>"));62                     System.out.println("比分:" + score);63                     System.out.println();64                     i++;65                     sql = "insert into football(`date`,`teama`,`teamb`,`score`) values('"66                             + tempDate67                             + "','"68                             + teama69                             + "','"70                             + teamb71                             + "','"72                             + score + "')";73                     System.out.println(sql);74                     mySql.datatoMySql(sql);75                 }76 77             }78             bufferedReader.close();79             System.out.println("一共收集到了" + i + "條信息");80         } catch (Exception e) {81             e.printStackTrace();82         }83 84     }85 86 }

看下運行效果圖:

下一篇文章:《基于Java的數據采集(三)》:http://www.49028c.com/lichenwei/p/3905370.html


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲区中文字幕| 久久精品电影一区二区| 国产精品久久久久久久久影视| 欧美视频一二三| 最近2019中文字幕一页二页| 欧美在线国产精品| 中文字幕亚洲情99在线| 亚洲第一色在线| 日韩精品视频观看| 最近中文字幕日韩精品| 伊人久久五月天| 日本成人激情视频| 国产拍精品一二三| 日韩中文字幕在线视频播放| 国产精品91一区| 国产精品日韩一区| 最近2019中文字幕大全第二页| 色综合久久久888| 中文字幕亚洲综合久久| 精品日本美女福利在线观看| 国产精品爽爽爽| 欧美日韩亚洲视频| 久久久av亚洲男天堂| 亚洲精品久久久久久久久久久久| 一区二区三区亚洲| 午夜精品99久久免费| 国产精品人人做人人爽| 2019中文字幕免费视频| 精品久久中文字幕久久av| 国产一区二区三区丝袜| 亚洲精品狠狠操| 中文字幕亚洲国产| 亚洲人成网站777色婷婷| 欧美日韩亚洲天堂| 久久久久99精品久久久久| 国产精品视频一区国模私拍| 精品调教chinesegay| 日韩视频一区在线| 亚洲最大av在线| 亚洲人成网7777777国产| 中文字幕亚洲一区二区三区五十路| 欧美亚洲午夜视频在线观看| 国产亚洲精品成人av久久ww| 亚洲国产欧美自拍| 国产免费一区二区三区香蕉精| 日韩av成人在线观看| 久久综合伊人77777尤物| 亚洲福利影片在线| 国内精品在线一区| 奇米影视亚洲狠狠色| 亚洲欧美日韩一区在线| 亚洲视频日韩精品| 久久免费视频在线观看| 亚洲午夜久久久影院| 一本一本久久a久久精品综合小说| 午夜剧场成人观在线视频免费观看| 久久偷看各类女兵18女厕嘘嘘| 成人激情电影一区二区| 国产精品午夜一区二区欲梦| 日韩午夜在线视频| 午夜美女久久久久爽久久| 亚洲国产中文字幕久久网| 国产亚洲精品久久久久久777| 疯狂做受xxxx高潮欧美日本| 91大神在线播放精品| 国产aaa精品| 国产在线视频一区| 欧美激情国产精品| 久久久久久久一区二区三区| 国产日韩在线精品av| 欧美日韩中国免费专区在线看| 国产一区深夜福利| 国产一区二区av| 久久亚洲综合国产精品99麻豆精品福利| 国产91在线高潮白浆在线观看| 欧美日韩激情小视频| 青青久久aⅴ北条麻妃| 国产精品视频公开费视频| 国产精品网站视频| 久久影院免费观看| 亚洲a中文字幕| 国产成人91久久精品| 欧美成人免费小视频| 亚洲国产欧美在线成人app| 国产在线98福利播放视频| 久操成人在线视频| 午夜欧美不卡精品aaaaa| 久久成人精品一区二区三区| 久久久国产精彩视频美女艺术照福利| 日本韩国欧美精品大片卡二| yw.139尤物在线精品视频| 欧美亚洲成人精品| 777午夜精品福利在线观看| 亚洲第一视频在线观看| 久久这里只有精品视频首页| 国产精品1区2区在线观看| 亚洲国产精品女人久久久| 97精品欧美一区二区三区| 亚洲午夜精品久久久久久久久久久久| 日韩免费高清在线观看| 欧美黑人xxx| 精品国产乱码久久久久久婷婷| 亚洲欧美国产日韩天堂区| 亚洲男人天堂九九视频| 欧美日韩高清区| 欧美成人在线免费| 亚洲精品视频免费| 日本三级久久久| 国产一区二区在线播放| 伊人久久久久久久久久久久久| 日韩黄色av网站| 亚洲欧美激情视频| 欧美性极品xxxx做受| 欧美精品久久久久久久久久| 亚洲精品影视在线观看| 精品国产福利在线| 一本大道久久加勒比香蕉| 欧美激情在线有限公司| 国产精品成人一区二区三区吃奶| 日韩av在线一区| 久久视频国产精品免费视频在线| 日韩有码在线播放| 色偷偷88888欧美精品久久久| 中文字幕久久精品| 国产成人jvid在线播放| 国产欧美一区二区三区久久| 久久视频精品在线| 欧美麻豆久久久久久中文| 欧美激情一区二区三区高清视频| 日韩黄在线观看| 国产亚洲欧美视频| 色老头一区二区三区| 黄网动漫久久久| 韩国日本不卡在线| 一区二区三区国产视频| 久久九九热免费视频| 亚洲欧美日韩国产中文| 欧美日韩一区免费| 蜜臀久久99精品久久久久久宅男| 亚洲淫片在线视频| 国产精品啪视频| 亚洲欧洲日产国码av系列天堂| 亚洲资源在线看| 2020国产精品视频| 色中色综合影院手机版在线观看| 成人在线观看视频网站| 自拍亚洲一区欧美另类| 色在人av网站天堂精品| 久久在线观看视频| 国产成人精品一区| 国产精品丝袜一区二区三区| 久久久视频免费观看| 国产成人福利夜色影视| 日本精品久久久久久久| 国产视频久久久久久久| 国产伦精品一区二区三区精品视频| 亚洲国产精品网站| 欧美亚洲国产视频小说| 亚洲高清av在线| 日韩中文理论片| 国产一区二区三区在线| 国产一区二区视频在线观看| 粗暴蹂躏中文一区二区三区| 欧美大片欧美激情性色a∨久久|