找回密码
 立即注册
首页 编程领域 编程板块 python带你快速了解新能源汽车行业

Python python带你快速了解新能源汽车行业

2023-2-24 15:35:05 评论(0)
大家都知道python有很多的用途,但是Python最重要的功能在于数据分析。面对密密麻麻的数字,怎么使用Python来进行数据分析。简单的来理解就是去粗取精。比如最近接到了一个项目,需要我们对新能源汽车行业进行分析的,那么我们会遇到很多问题,比如电动车的续航里程怎么样?每百公里电池消耗情况?主流电动车厂商及厂家分布?结论电动车的续航里程是否可靠等等问题,这里我们就可以利用Python通过某些汽车平台对于市面电动车数据进行数据分析。
针对以上的项目需求,这次爬虫主要爬取某车之家新能源汽车的品牌、车系、车型,用户使用反馈等数据。对于python的步骤之前写了很多文章分享,这里就不详细的梳理步骤了。重点讨论下在爬取过程中网站的反爬机制问题。像汽车之家这样的网站经过网页分析发现反爬不是很严,这里我们只需要加代理防止封IP就可以,但是代理的选择是一个比较难得问题。好用的代理实在太少了,经过博主多次测试对比发现了一家优质的代理商。这里直接使用他们提供的代理去获取需要的数据,代理的使用方式发出来大家参考下,代码示例如下:

  1. <span style="background-color: white;">import org.apache.commons.httpclient.Credentials;
  2. import org.apache.commons.httpclient.HostConfiguration;
  3. import org.apache.commons.httpclient.HttpClient;
  4. import org.apache.commons.httpclient.HttpMethod;
  5. import org.apache.commons.httpclient.HttpStatus;
  6. import org.apache.commons.httpclient.UsernamePasswordCredentials;
  7. import org.apache.commons.httpclient.auth.AuthScope;
  8. import org.apache.commons.httpclient.methods.GetMethod;

  9. import java.io.IOException;

  10. public class Main {
  11.     # 代理服务器(产品官网 www.16yun.cn)
  12.     private static final String PROXY_HOST = "t.16yun.cn";
  13.     private static final int PROXY_PORT = 31111;

  14.     public static void main(String[] args) {
  15.         HttpClient client = new HttpClient();
  16.         HttpMethod method = new GetMethod("https://httpbin.org/ip");

  17.         HostConfiguration config = client.getHostConfiguration();
  18.         config.setProxy(PROXY_HOST, PROXY_PORT);

  19.         client.getParams().setAuthenticationPreemptive(true);

  20.         String username = "16ABCCKJ";
  21.         String password = "712323";
  22.         Credentials credentials = new UsernamePasswordCredentials(username, password);
  23.         AuthScope authScope = new AuthScope(PROXY_HOST, PROXY_PORT);

  24.         client.getState().setProxyCredentials(authScope, credentials);

  25.         try {
  26.             client.executeMethod(method);

  27.             if (method.getStatusCode() == HttpStatus.SC_OK) {
  28.                 String response = method.getResponseBodyAsString();
  29.                 System.out.println("Response = " + response);
  30.             }
  31.         } catch (IOException e) {
  32.             e.printStackTrace();
  33.         } finally {
  34.             method.releaseConnection();
  35.         }
  36.     }
  37. }</span>
复制代码
文中使用的是动态转发模式的代理,相比传统api要方便简单很多,对爬虫项目更友好,感兴趣的小伙伴可以直接搜索亿牛云了解详细的使用方式。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

使用道具 举报

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们(3513994353@qq.com)。
您需要登录后才可以回帖 登录 | 立即注册
楼主
包青天宝打野

关注0

粉丝0

帖子3

最新动态