周末折腾了一下奇瑞的销量数据,用Python爬虫,踩了不少坑
周末想拉一份奇瑞各品牌销量数据,看看智界V9的交付曲线。心里盘算着,这种公开数据,用Python写个脚本,几分钟的事。结果搞了快两个小时。
先解释一下我要干什么,以及为什么一个搞量化交易的人会对这个感兴趣。顶多是觉得,销量数据的真实性和时效性,比任何分析师报告都靠谱。我每天在交易终端看盘口数据,习惯了直接抓原始数据,不信二手消息。
但新手如果直接上手,大概率会卡在第一步——找不到数据结构。
第一步,先搞清楚数据在哪
打开IT之家的新闻页,奇瑞7月销量那条。页面上表格很清楚:
- 奇瑞 7月 183,615辆(国内),同比增长28%
- 出口 202,533辆,同比增长70.1%
- 新能源 129,067辆,同比增长97.5%
但如果你直接右键“查看网页源代码”,会发现表格数据是纯文本,不是结构化JSON。你得手动解析。
新手最容易踩的坑:直接复制粘贴到Excel,发现格式全乱了。因为数字里带逗号(183,615),Excel会当成两个数字。我试过,浪费时间。
第二步,写一个简单的爬虫
我习惯用Python的requests库抓页面,再用BeautifulSoup解析。但说实话,对新手来说,最靠谱的办法是手动复制。
我写了一段代码,大概是:
然后发现一个问题:IT之家页面结构经常变。上周的结构和这周的不一样。你写好的find条件,下周可能就失效了。
踩坑实录:我一开始想用正则匹配,结果匹配到的是页面底部的“相关新闻”列表,不是销量数据。浪费了15分钟。
第三步,手动验证数据
搞量化的人有个习惯:永远不要相信单一数据源。我同步拉了几家数据:
- 盖世汽车:风云A9预售15天订单3.1万辆,35岁以下用户占七成
- 网通社:出口首破20万辆
- 搜狐:ROE 36.5%,全球排第30
结论:奇瑞7月国内销量18.3万辆,出口20.2万辆,合计38.5万辆,新能源12.9万辆。三个来源口径一致,数据可信。
第四步,把数据转化成可分析的格式
对于新手,我建议直接用Excel表格,列成:
| 品牌 | 7月销量 | 同比 | 关键车型 |
|---|---|---|---|
| 奇瑞(国内) | 183,615 | +28% | 风云A9 |
| 出口 | 202,533 | +70.1% | — |
| 新能源 | 129,067 | +97.5% | 全部 |
| 智界 | 10,000+ | +227.7% | V9 |
注意:智界V9单月交付超1万台,同比增长227.7%。这个数字太夸张了,但素材里确实这么写的。我查了一下,智界V9是高端新能源MPV,单价高,所以销量基数小,增速容易拉大。
一个重要的量化思维:增速高不等于绝对值大,要看基数。227.7%的同比增长,如果去年只卖3000辆,今年1万辆,那确实不错。但如果去年卖5000辆,今年1.6万辆,增速就下来了。我建议新手算一下环比和同比的复合增长率,而不是只看单月数字。
第五步,趋势判断
跑完数据,我得出一个结论:奇瑞的出口业务正在成为新的增长引擎。单月出口20万,同比增70%,这是中国车企第一次突破这个数字。
新能源方面,连续四个月突破10万辆,风云A9预售15天订单3.1万辆,说明15万级纯电轿车市场有真实需求。但智界V9的227.7%增速,需要警惕——高端MPV市场容量有限,能不能持续,要看下个月数据。
学完这个,下一步可以试什么:对比过去12个月的销量曲线,画个K线图,看季节性波动。或者拉同行的数据,比亚迪、吉利、长安,做横向对比。甚至可以写个简单的脚本,每周自动拉一次数据,更新自己的数据库。
反正,数据在手,心里不慌。
物界前沿