2022-04-21 16:44

随着气候变化不断对人类的影响,如何实现碳达峰、碳中和已经成为各个国家最为关注和努力的问题。正是在这种背景下,一度将电动汽车推上了风口浪尖,特斯拉、小鹏等汽车品牌也瞬间在消费者心中走红。一些比较好奇的网友要问:“电动车的优势到底有什么?相比较燃油车又有那些明显的劣势呢”?

那今天我们就通过访问汽车之家了解下电动汽车的销量还有车主们驾驶感受数据,我们就利用python简单的演示一下采集过程,大家可以根据自己的兴趣进行拓展,比如采集自己喜欢的品牌汽车数据进行统计分析等等。在进行数据请求前我们进行了简单的测试,发现网站有存在反爬的风险,所以为了顺利的拿到数据,在爬取过程中增加了反爬措施,最主要的就爬虫代理IP的辅助。关于爬虫d代理的选择之前有做过详细的介绍,大家有需要的可以直接选择亿牛云,数据获取的简单爬虫代码如下:

// 要访问的目标页面
string targetUrl = "http://httpbin.org/ip";


// 代理服务器(产品官网 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();
}

整个爬虫过程比较简单,采集下来的数据也比较规范,分析的数据下次会分享出来。但是从获取的数据可以看出大家在电动汽车使用优势和劣势的评价上都比较真实,对需要购买电动汽车的朋友来说很有参考价值。


评论