111,130
社区成员
发帖
与我相关
我的任务
分享
//分析了一下网页的格式,
//下面
//提供一个思路,如果要查询几万条的话,速度肯定不行
//我这里每次调用大概需要2秒钟
//需要调用 WebClient.DownloadStringAsync 这个异步方法,
//在回调方法中进行处理
string careID = "320621197905231235"; //查询的号码
System.Net.WebClient client = new System.Net.WebClient();
client.Encoding = System.Text.Encoding.Default;
string reply = client.DownloadString( "http://www.sz800.com/sfz/index.asp?xian=" + careID );
string city = string.Empty; //原户籍地:
string birthday = string.Empty; //出生年月:
string sex = string.Empty; //性 别:
string msg = string.Empty; //提示:
int iBegin = -1; //开始位置
int iEnd = -1; //结束位置
iBegin = reply.IndexOf( "查询号码:" );
if ( iBegin == -1 )
{
//没查到信息,
//可以在循环中继续查询下一个号码
return;
}
reply = reply.Substring( iBegin ); //取从 查询号码:开始到最后的内容
//原户籍地
iBegin = reply.IndexOf( "原户籍地:" );
iEnd = reply.IndexOf( "<br></td></tr>", iBegin );
city = reply.Substring( iBegin, iEnd - iBegin );
//出生年月:
iBegin = reply.IndexOf( "出生年月:" );
iEnd = reply.IndexOf( "<br></td></tr>", iBegin );
birthday = reply.Substring( iBegin, iEnd - iBegin );
//性别:
iBegin = reply.IndexOf( "性 别:" );
iEnd = reply.IndexOf( "</td></tr>", iBegin );
sex = reply.Substring( iBegin, iEnd - iBegin ).Replace( " ", "" );
//提示信息,有两种,一种是提示,说明号码有问题的
//一种是“结果”,说明正确的
iBegin = reply.IndexOf( "提示:" );
if ( iBegin != -1 )
{
iEnd = reply.IndexOf( "</td>", iBegin );
msg = reply.Substring( iBegin, iEnd - iBegin );
}
else
{
iBegin = reply.IndexOf( "结果:" );
iEnd = reply.IndexOf( "</td>", iBegin );
msg = reply.Substring( iBegin, iEnd - iBegin );
}
MessageBox.Show( string.Format( "查询号码:{0}\n{1}\n{2}\n{3}\n{4}", careID, city, birthday, sex, msg ) );
//分析了一下网页的格式,
//下面
//提供一个思路,如果要查询几万条的话,速度肯定不行
//我这里每次调用大概需要2秒钟
//需要调用 WebClient.DownloadStringAsync 这个异步方法,
//在回调方法中进行处理
string careID = "320725197905231232"; //查询的号码
System.Net.WebClient client = new System.Net.WebClient();
client.Encoding = System.Text.Encoding.Default;
string reply = client.DownloadString( "http://www.sz800.com/sfz/index.asp?xian=" + careID );
string city = string.Empty; //原户籍地:
string birthday = string.Empty; //出生年月:
string sex = string.Empty; //性 别:
string msg = string.Empty; //提示:
int iBegin = -1; //开始位置
int iEnd = -1; //结束位置
iBegin = reply.IndexOf( "查询号码:" );
if ( iBegin == -1 )
{
//没查到信息,
//可以在循环中继续查询下一个号码
return;
}
reply = reply.Substring( iBegin ); //取从 查询号码:开始到最后的内容
//原户籍地
iBegin = reply.IndexOf( "原户籍地:" );
iEnd = reply.IndexOf( "<br></td></tr>", iBegin );
city = reply.Substring( iBegin, iEnd - iBegin );
//出生年月:
iBegin = reply.IndexOf( "出生年月:" );
iEnd = reply.IndexOf( "<br></td></tr>", iBegin );
birthday = reply.Substring( iBegin, iEnd - iBegin );
//性别:
iBegin = reply.IndexOf( "性 别:" );
iEnd = reply.IndexOf( "</td></tr>", iBegin );
sex = reply.Substring( iBegin, iEnd - iBegin ).Replace( " ", "" );
//提示信息
iBegin = reply.IndexOf( "提示:" );
iEnd = reply.IndexOf( "</td>", iBegin );
msg = reply.Substring( iBegin, iEnd - iBegin );
MessageBox.Show( string.Format( "查询号码:{0}\n{1}\n{2}\n{3}\n{4}", careID, city, birthday, sex, msg ) );