2022-03-09 16:34

最难两会正在进行中,有人大代表提出:45岁退休利于减少晚婚晚育。最近几年晚婚晚育一直都是比较热的话题,国家一直在鼓励二胎,三胎,大众却在各种逃避。其中有太多的现实因素让大家对结婚,二胎,三胎没有积极性。导致现在的人口出生率一直在下降,但是具体下降的数据是什么样的呢?今天我们就通过大数据来了解下我们国家最近几年的生育率。

首先我们可以通过由国家统计局提供的网站获取数据,里面包含很多国家公开的数据信息。我们可以在数据里面找到国家的出生率。然后通过python获取近几年的出生数据。在访问网站的过程中我加了代理,万一遇到网站封ip也能继续获取数据。数据的简单获取程序如下:

// 要访问的目标页面
string targetUrl = "http://www.stats.gov.cn/tjsj/";


// 代理服务器(产品官网 www.16yun.cn)
string proxyHost = "http://t.16yun.cn";
string proxyPort = "31111";

// 代理验证信息
string proxyUser = "username";
string proxyPass = "password";

// 设置代理服务器
WebProxy proxy = new WebProxy(string.Format("{0}:{1}", proxyHost, proxyPort), true);


ServicePointManager.Expect100Continue = false;

var request = WebRequest.Create(targetUrl) as HttpWebRequest;

request.AllowAutoRedirect = true;
request.KeepAlive = true;
request.Method    = "GET";
request.Proxy     = proxy;

//request.Proxy.Credentials = CredentialCache.DefaultCredentials;

request.Proxy.Credentials = new System.Net.NetworkCredential(proxyUser, proxyPass);

// 设置Proxy Tunnel
// Random ran=new Random();
// int tunnel =ran.Next(1,10000);
// request.Headers.Add("Proxy-Tunnel", String.valueOf(tunnel));


//request.Timeout = 20000;
//request.ServicePoint.ConnectionLimit = 512;
//request.UserAgent = "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36";
//request.Headers.Add("Cache-Control", "max-age=0");
//request.Headers.Add("DNT", "1");


//String encoded = System.Convert.ToBase64String(System.Text.Encoding.GetEncoding("ISO-8859-1").GetBytes(proxyUser + ":" + proxyPass));
//request.Headers.Add("Proxy-Authorization", "Basic " + encoded);

using (var response = request.GetResponse() as HttpWebResponse)
using (var sr = new StreamReader(response.GetResponseStream(), Encoding.UTF8))
{
    string htmlStr = sr.ReadToEnd();
}

从获取到的数据我们可以看出2021年中国出生人口创下1949年以来新低,出生率也是有记录以来最低水平。近五年的出生率一直在下降,下降幅度高达40%,还不到90年出生人口的一半呀。关于爬虫学习大家有好的方法可以留言交流下。


评论