WebResponse用法(根据省市区地址查询其邮编):

class Program
{
static string url { get; set; }
static void Main(string[] args)
{
StringBuilder sb = new StringBuilder();
try
{
SqlConnection conn = new SqlConnection("自己的数据库连接语句");
SqlDataAdapter da = new SqlDataAdapter("查询语句", conn);
DataSet ds = new DataSet();
Random rd = new Random();
da.Fill(ds);
url = "http://opendata.baidu.com/post/s?wd={0}&rn=20";//请求地址
for (int i = ; i < ds.Tables[].Rows.Count; i++)
{
var row = ds.Tables[].Rows[i];
string keyworder = row["ProvinceName"] + " " + row["CityName"] + " " + row["DistrictName"];
sb.Append(GetZipCodeSql(keyworder, row["SysNo"].ToString())); Thread.Sleep(rd.Next(, ));//延时
if (i != && i % == )
{
WriteTxt(sb.ToString()); sb.Clear();
}
else if (i == ds.Tables[].Rows.Count - )
{
WriteTxt(sb.ToString()); sb.Clear();
}
}
}
catch (Exception ex)
{
System.Console.WriteLine(ex.Message);
}
}
private static void WriteTxt(string text)
{
StreamWriter sw = File.AppendText("D:\\3.txt");//保存输出的位置
sw.Write(text);
sw.Close();
}
    //得到邮编
private static string GetZipCodeSql(string keyworder, string sysNo)
{
StringBuilder sb = new StringBuilder();
try
{
HttpWebRequest httpweb = (HttpWebRequest)WebRequest.Create(
new Uri(string.Format(url, HttpUtility.UrlEncode(keyworder, System.Text.Encoding.GetEncoding("GBK"))))
);
WebResponse respon = httpweb.GetResponse();
StreamReader reader = new StreamReader(respon.GetResponseStream(), Encoding.GetEncoding("GBK"));
string html = reader.ReadToEnd();
int statrtIndex = ;
int end = ;
string code = "";
statrtIndex = html.IndexOf("<ul><!-- baidu-tc begin -->");
if (statrtIndex > )
{
end = html.IndexOf("</a>", statrtIndex);
statrtIndex = html.LastIndexOf("</em>", end);
code = Regex.Replace(html.Substring(end - , ), @"[^0-9]", "");
//code = html.Substring(end - 6, 6);
sb.AppendFormat("UPDATE area SET ZipCode ={0} WHERE SysNo={1};\r\n", code, sysNo);
}
respon.Close();
}
catch (Exception)
{
url = "http://opendata.baidu.com/post/s?wd={0}&p=mini&rn=20";
GetZipCodeSql(keyworder, sysNo);
} return sb.ToString();
}
}

附:全国省市区.zip

WebResponse 取出全国省市区的邮编的更多相关文章

  1. Mysql学习---全国省市区以及邮编数据库

    更多下载

  2. 三级联动查询全国省市区(xml与数据库)

    提供有china.xml和china.sql文件,实现全国省市区的三级联动效果 一.xml实现 import java.awt.EventQueue; import javax.swing.JFram ...

  3. PHP全国省市区地址分割提取脚本程序

    github地址: https://github.com/zmxfree/addressapart 比如将 浙江省杭州市江干区XX路X号 分割成 浙江省 杭州市 江干区 XX路X号,方便excel操作 ...

  4. selenium,webdriver,xpath获取全国各地的邮编

    代码要多敲 注释要清晰 其中区号没有拿取出来 看到的朋友可以作为练习 ,有好的方法可以在下面留言 from selenium import webdriver from lxml import etr ...

  5. 省市区三级联动(附j全国省市区json文件)

    效果如图所示: 首先提供全国所有省份的JS文件 下载地址:https://files.cnblogs.com/files/likui-bookHouse/address.rar 打开js内容如下: h ...

  6. jquery全国省市区三级联动插件distpicker

    使用步骤: 1.引入js <script src="distpicker/jquery.min.js" type="text/javascript" ch ...

  7. js 实现全国省市区三级联动

    效果: index.html <!DOCTYPE html> <html> <head> <meta charset="utf-8" /& ...

  8. 全国省市区三级联动js

    function Dsy(){ this.Items = {}; } Dsy.prototype.add = function(id,iArray){ this.Items[id] = iArray; ...

  9. 全国省市区Json文件 ,做省市区联动很轻松

    省份 [{"name":"安徽省", "code":"340000"},{"name":" ...

随机推荐

  1. contiki-main.c 一 打印观察 <contiki学习之五>

    说明: 本文依赖于 contiki/platform/native/contiki-main.c 文件. 在项目工程目录下的hello-world.c 文件里面,有许多的宏,但没有最关键的main() ...

  2. UOJ #148. 【NOIP2015】跳石头 二分

    #148. [NOIP2015]跳石头 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://uoj.ac/problem/148 Descripti ...

  3. Codeforces Gym 100002 C "Cricket Field" 暴力

    "Cricket Field" Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/1000 ...

  4. 使用QQ账号的来发送邮件

    第一步,看图操作如下: 打开QQ邮箱,在设置-帐户,然后再看下图示: 把:POP3/SMTP服务,IMAP/SMTP服务,Exchange服务,CardDAV/CalDAV服务都选择上,保存这样,便可 ...

  5. Jquery中$与$.fn的差别

    当今web开发往往离不开Jquery的使用,Jquery以其简洁的使用方式.良好的浏览器兼容性赢得了软件研发同行的青睐,作为当中的一员,自然也不例外,虽然刚開始时非常排斥Jquery,今天我谈一下对J ...

  6. C++ AfxBeginThread

    计算从1+2+3...+100000=? 关键点 CWinThread* AfxBeginThread( AFX_THREADPROC pfnThreadProc, LPVOID pParam, in ...

  7. Oracle DB 通过 Oracle Enterprise Manager注册要使用的恢复目录

    通过 Oracle Enterprise Manager  注册要使用的恢复目录.  a)  在 EM 中,导航到“Availability > Recovery Catalog Setting ...

  8. PHP下获取上个月、下个月、本月的日期(strtotime,date)

    今天写程序的时候,突然发现了很早以前写的获取月份天数的函数,经典的switch版,但是获得上月天数的时候,我只是把月份-1了,估计当时太困了吧,再看到有种毛骨悚然的感觉,本来是想再处理一下的,但是一想 ...

  9. uboot_starts_analysis.pdf

    Uboot中start.S源码的指令级的详尽解析 HTML版本的在线地址为:http://www.crifan.com/files/doc/docbook/uboot_starts_analysis/ ...

  10. python 调用zabbix api接口实现主机的增删改查

    python程序调用zabbix系统的api接口实现对zabbix_server端主机的增删改查,使用相关功能时候,需要打开脚本中的相关函数. 函数说明: zabbixtools()  调用zabbi ...