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":" ...
随机推荐
- PyQt入门系列(一):Hello World
开始搞PyQt了,顺便记录一下自己的学习!资料参考某大神的PyQt4 精彩实例分析,以及<征服Python>这本书. 下面是Demo: #-*- coding:utf-8 -*- #编码声 ...
- Codeforces Round #334 (Div. 2) A. Uncowed Forces 水题
A. Uncowed Forces Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/604/pro ...
- mac 环境下mysql 不能删除schema问题的解决办法
首先说明下问题环境,我是在mac机器上安装的mysql+workbench. 在删除一个数据库的时候,出现error dropping database cant rmdir ./test 的问题. ...
- python选择排序
def select_sort(list): for i in range(len(list)): position = i for j in range(i,len(list)): if list[ ...
- 一个Windows Service项目的完整开发过程
(一)建立项目文件 先建立一个解决方案文件,然后添加三个项目. 分别是: (1)Windows服务项目 -----ActiveMQSenderService项目,服务主要是定时轮询某表,将更新发送到 ...
- ASP.NET 之 检测到在集成的托管管道模式下不适用的ASP.NET设置
将ASP.NET程序从IIS6移植到IIS7后,调试运行可能提示以下错误: HTTP 错误 500.23 - Internal Server Error 检测到在集成的托管管道模式下不适用的 ASP. ...
- cocos2d-x lua table与json的转换
cocos2d-x lua table与json的转换 version: cocos2d-x 3.6 1.引入json库 require("src/cocos/cocos2d/json&qu ...
- mysql:学习学习~
1.约束:分为表级约束和列级约束 包括:NOT NULL (非空约束) PRIMARY KEY(主键约束) UNIQUE KEY(唯一约束) DEFAULT(默认约束) FOREIGN KEY(外键约 ...
- javaweb学习总结十九(http协议概述以及http请求信息分析)
一:http协议概述 1:http协议定义 2:使用telnet程序连接web服务器,获取资源 3:http协议:超文本传输协议,它是基于tcp/ip协议,就是建立在tcp/ip之上工作的, http ...
- javascript一些常用操作
一:验证日期 1:日期必须满足yyyy-MM-dd格式 2:日期必须是合法的日期,如2016-02-30就是不存在 //验证就诊日期 function checkVisitDate(date){ va ...