WebResponse 取出全国省市区的邮编
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();
}
}
WebResponse 取出全国省市区的邮编的更多相关文章
- Mysql学习---全国省市区以及邮编数据库
更多下载
- 三级联动查询全国省市区(xml与数据库)
提供有china.xml和china.sql文件,实现全国省市区的三级联动效果 一.xml实现 import java.awt.EventQueue; import javax.swing.JFram ...
- PHP全国省市区地址分割提取脚本程序
github地址: https://github.com/zmxfree/addressapart 比如将 浙江省杭州市江干区XX路X号 分割成 浙江省 杭州市 江干区 XX路X号,方便excel操作 ...
- selenium,webdriver,xpath获取全国各地的邮编
代码要多敲 注释要清晰 其中区号没有拿取出来 看到的朋友可以作为练习 ,有好的方法可以在下面留言 from selenium import webdriver from lxml import etr ...
- 省市区三级联动(附j全国省市区json文件)
效果如图所示: 首先提供全国所有省份的JS文件 下载地址:https://files.cnblogs.com/files/likui-bookHouse/address.rar 打开js内容如下: h ...
- jquery全国省市区三级联动插件distpicker
使用步骤: 1.引入js <script src="distpicker/jquery.min.js" type="text/javascript" ch ...
- js 实现全国省市区三级联动
效果: index.html <!DOCTYPE html> <html> <head> <meta charset="utf-8" /& ...
- 全国省市区三级联动js
function Dsy(){ this.Items = {}; } Dsy.prototype.add = function(id,iArray){ this.Items[id] = iArray; ...
- 全国省市区Json文件 ,做省市区联动很轻松
省份 [{"name":"安徽省", "code":"340000"},{"name":" ...
随机推荐
- 汇编语言(学习笔记-----[bx]和loop)
1.[bx]是什么?? 和[0]有些类似,[0]表示内存单元,它的偏移地址是0 [bx]同样也表示一个内存单元,它的偏移地址在bx中,mov ax,[bx] (字) mov ...
- SCOM2007R2安装和报表服务器配置
SCOM2007R2默认安装不可以直接支持SQL Server2008R2,需要SQL Server 2008SP1. 如果数据库安装在另一台计算机上,则在安装了SQL Server的计算机上先运行S ...
- Codeforces Round #326 (Div. 2) A. Duff and Meat 水题
A. Duff and Meat Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/588/probl ...
- Android 4.1源码编译找不到资源文件解决办法
我们在Android framework中修改资源文件时,在Android 4.0之前,都是直接在sourcecode/frameworks/base/core/res/res下面添加对应的资源文件, ...
- linux编程基础
http://blog.csdn.net/jnu_simba/article/details/8806654
- python工具程序一、复制目录中指定扩展名的文件
#!/usr/bin/env python # coding:utf-8 # xcopy Lib directory and rename all files to *d.lib import os ...
- SkyEye的使用
转载:http://blog.csdn.net/htttw/article/details/7226754 对于希望学习ARM汇编的同学而言, 购买ARM开发板进行板上实测无疑是一个有效的方法,不过购 ...
- javascript 十六进制与RGB颜色值的相互转换
http://www.zhangxinxu.com/wordpress/?p=646 http://www.zhangxinxu.com/wordpress/?p=646 -------------- ...
- CSS 实现行内和上下自适应的几种方法
在写一个移动端网页,发现网页的头部搜索框两边各有固定宽度的按钮,搜索框可以根据宽度的变化来改变自己的宽度,达到填充的目的,也就是一种自适应吧,下面写写自己尝试的几种方法 一 利用css3 的width ...
- Syntax highlighter for CKEditor
http://www.cnblogs.com/moozi/archive/2010/01/06/1640034.html