正则+url获取指定网站数据信息,url获取,主要用来搜集某个网站双色
分享于 点击 610 次 点评:218
正则+url获取指定网站数据信息,url获取,主要用来搜集某个网站双色
主要用来搜集某个网站双色球彩票历史数据。
1)预下载网站html文件
2)用正则匹配指定数据
3)保存文件在本地
4)读取本地保存的文件
5)以数组形式展现搜集到的数据
6)进一步处理数据
7)为分析数据做好充足准备
8)即将展开彩票中奖数字分析
9)即将重奖
public class main { readFile rf; webCatch wc; int[][] numb;//30*7阶矩阵 int[][] tempNumb;//矩阵numb的转置 /** * @param args */ public static void main(String[] args) {// // TODO Auto-generated method stub// new main().getDataFromUrl("http://baidu.lehecai.com/lottery/draw/list/50","<span class=\\"ball_[12]\\">(\\\\d{2})</span>","web.txt"); main mm=new main(); mm.readDataFromFile("web.txt");// mm.sortDataFromHere(mm.numb);//对列排序输出 mm.showDataFromHere(); } public void readDataFromFile(String file){ numb=new int[30][7]; rf=new readFile(); rf.setUrl(file); numb=rf.recData();//返回的是一个二维数组 } //数组转置,行转列 public void changeA2B(int[][] a,int[][] b){ for(int i=0;i<30;i++) for(int j=0;j<7;j++){ b[j][i]=a[i][j]; } } //数组转置,列转行 public void changeB2A(int[][] a,int[][] b){ for(int i=0;i<7;i++) for(int j=0;j<30;j++){ b[j][i]=a[i][j]; } } public void formatData(){ } //对数组排序 public void sort(int[] a){ for(int i=0;i<a.length;i++){ int temp=i,cc=0; for(int j=i;j<a.length;j++){ if(a[temp]<a[j]){ cc=a[j]; a[j]=a[temp]; a[temp]=cc; } } } } public void sortDataFromHere(int[][] abc){ tempNumb=new int[7][30]; changeA2B(abc,tempNumb); for(int i=0;i<7;i++) sort(tempNumb[i]); //changeB2A(tempNumb,abc); } public void showDataFromHere(){ for(int i=0;i<30;i++){ for(int j=0;j<7;j++) System.out.print(numb[i][j]+" "); System.out.println(); } } public void getDataFromUrl(String url,String regex,String file){ wc=new webCatch(); //String regex="<td[^>]*>(\\\\d{1,})</td>";//匹配td标签中的数字 wc.setRegex(regex); wc.setPt(regex); wc.setFile(file); //wc.setUrlStr("http://11512.223344.info/a.html"); wc.setUrlStr(url); wc.show(); }}//该片段来自于http://byrx.net
用户点评