`
isiqi
  • 浏览: 16002731 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

最终版宝宝取名程序,java版,我宝名字已经确定。 HttpURLConnection

阅读更多

运行的时候,需要Log4j.jar

最好使用命令运行

java -cp log4j.jar,. XingMing > xingming.txt

仅供娱乐。

importjava.io.BufferedReader;
importjava.io.IOException;
importjava.io.InputStream;
importjava.io.InputStreamReader;
importjava.net.HttpURLConnection;
importjava.net.MalformedURLException;
importjava.net.URL;

importorg.apache.log4j.Logger;

publicclassXingMing...{

staticfinalLoggerlog=Logger.getLogger(XingMing.class);

publicstaticStringread(StringurlStr)...{
try...{
URLurl
=newURL(urlStr);
HttpURLConnectionconnection
=(HttpURLConnection)url
.openConnection();
connection.connect();
InputStreamin
=connection.getInputStream();
BufferedReaderread
=newBufferedReader(newInputStreamReader(in));
StringBufferbuf
=newStringBuffer();
Stringline
=null;
while((line=read.readLine())!=null)...{
buf.append(line);
}

returnbuf.toString();
}
catch(MalformedURLExceptione)...{
returnnull;
}
catch(IOExceptione)...{
returnnull;
}

}


publicstaticStringfind(Stringstr,StringbeginStr,StringendStr)...{
finalintlength=beginStr.length();
intindex=str.indexOf(beginStr);
Stringresult
=null;
if(index!=-1)...{
intindex2=str.indexOf(endStr,index+length);
if(index2!=-1)...{
result
=str.substring(index+beginStr.length(),index2);
}

}

returnresult;
}


publicstaticStringfindName(Stringsource,Stringname)...{
//value=我的姓名『XX』的分析:
returnfind(source,"value=我的姓名『","』的分析");
}


publicstaticStringfindScore(Stringsource,Stringname)...{
//<fontsize=3>姓名评分:</font><fontcolor=0000ffsize=5face="Broadway
//BT,楷体">99.5</font>
returnfind(
source,
"<fontsize=3>姓名评分:</font><fontcolor=0000ffsize=5face="BroadwayBT,楷体">",
"</font>");
}


publicstaticStringfindHZ(Stringsource,Stringname)...{
returnfind(source,name+"</font></td><td><fontcolor=aaaaaa>",
"</font>");
}


publicstaticStringfindSound(Stringsource,Stringname)...{
returnfind(source,name+"</font></td><td><fontcolor=aaaaaa>",
"</font>");
}


publicstaticStringfindWuXing(Stringsource,Stringsound)...{
//<fontcolor=aaaaaa>qian</font></td><td>12</td><td>木</td></tr>
Strings1=find(source,"<fontcolor=aaaaaa>"+sound
+"</font></td><td>","</td>");
returnfind(source,"<fontcolor=aaaaaa>"+sound+"</font></td><td>"
+s1+"</td><td>","</td>");
}


publicstaticintcountStr(Stringsource,Stringstr)...{
intcnt=0;
intidx=source.indexOf(str);
while(idx!=-1)...{
cnt
++;
idx
=source.indexOf(str,idx+str.length());
}

returncnt;
}


publicstaticvoidmain(String[]args)throwsIOException...{
finalcharfirstChar='';
finalcharlastChar='';
for(chari=firstChar;i<lastChar;i++)...{
//System.out.print(i);
}

//最大开启100个线程,可以加快查询速度.
intmaxThread=100;
intstep=(lastChar-firstChar)/maxThread;
for(inti=0;i<maxThread;i++)...{
charstart=(char)(firstChar+i*step);
charend=(char)(firstChar+i*step+step-1);
System.out.println(
"开启"+(i+1)+"处理:"+start+"-"+end
+(char)(end+1));
newCallThread(start,end).start();
}

}


staticclassCallThreadextendsThread...{
privatecharstart;
privatecharend;
privateStringinfo;

CallThread(
charstart,charend)...{
this.start=start;
this.end=end;
this.info=this.start+"-"+this.end;
}


publicvoidrun()...{
//
finalcharyouname1='';
finalStringurl="http://www.xingming.net/cmjg-mz.asp?sex=女&youname1="
+youname1+"&youname2=";
Stringyouname2;
Stringwebinfo
=null;
for(chari=start;i<=end;i++,webinfo=null)...{
//名字规则自己取吧.
//youname2="良"+i;
//youname2=""+i+i;
youname2=""+i;
for(intj=0;j<5&&webinfo==null;j++)...{
webinfo
=XingMing.read(url+youname2);
}

if(webinfo==null)...{
log.warn(
"获取名字["+youname1+youname2+"]失败");
continue;
}

StringwebName
=XingMing.findName(webinfo,"["+youname2
+"]");
StringwebScore
=XingMing.findScore(webinfo,"["+youname2
+"]");
StringwebHZ
=XingMing.findHZ(webinfo,""+i);
StringwebSound
=XingMing.findSound(webinfo,webHZ);
StringwebWuxing
=XingMing.findWuXing(webinfo,webSound);
String天格数
=find(webinfo,"天格->","(");
String人格数
=find(webinfo,"人格->","(");
String地格数
=find(webinfo,"地格->","(");
String外格数
=find(webinfo,"外格->","(");
String总格数
=find(webinfo,"总格->","(");
String天格解析
=find(webinfo,"天格"+天格数+"的解析</td><td>(","");
String人格解析
=find(webinfo,"人格"+人格数+"的解析</td><td>(","");
String地格解析
=find(webinfo,"地格"+地格数+"的解析</td><td>(","");
String外格解析
=find(webinfo,"外格"+外格数+"的解析</td><td>(","");
String总格解析
=find(webinfo,"总格"+总格数+"的解析</td><td>(","");

String天格暗示
=find(webinfo,"天格"+天格数+"有以下数理暗示</td><td>",
"</td>");
String人格暗示
=find(webinfo,"人格"+人格数+"有以下数理暗示</td><td>",
"</td>");
String地格暗示
=find(webinfo,"地格"+地格数+"有以下数理暗示</td><td>",
<img a
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics