Python 汽车之家 全系车型参数(包含历史停售车型) 最全

Posted 陈自杰

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 汽车之家 全系车型参数(包含历史停售车型) 最全相关的知识,希望对你有一定的参考价值。

<table><tr><td bgcolor=orange>本文仅供学习交流使用,如侵立删!联系方式及demo下载见文末</td></tr></table>

****

​汽车之家2021 全系车型参数(包含历史停售车型)​

****

​2021.10.21更新​

  • 增加参数:电动扰流板、无框设计车门、隐藏电动门把手、自动驾驶芯片、芯片总算力...

Python

****

​2021.8.12更新​

  • 最新官网数据(共57380款车型数据)Python

****

​2021.7.8更新​

  • 最新官网数据(新增或修改共1098款车型数据)

Python

****

打包成了采集器,需要的自行下载。

Python

****

​2021.5.17更新​

  • 更新最新官网数据:新增821款车型参数及图片

Python

****

​2021.4.14更新​

  • 最新官网数据
  • 更改解析,保存更多参数
  • 增加:logo、车型图片

PythonPythonPython

****

2021.3.7更新最新数据

Python

****

<center>​​2021.1.29更新​​</center>

全系车辆十年保值率数据

Python

****

<center>​​2021.1.17更新​​</center>

汽车之家全系车型图片:576149张原图(50.5G)

****

2021.1.8更新

增加:品牌LOGOPython

****

2021.1.6更新

更新:最新2021官网数据PythonPython

****

2020.5.9更新

**增加:选装包、外观颜色、内饰颜色参数

修复:多行数据存储不完整问题**

Python

******

2020.4.15更新

更新最新官网数据

******

2020.3.22更新

**新增:途虎养车 车型、保养 数据

******

2020.1.9更新

增加:品牌首字母,品牌ID,品牌名称,车系ID,车系名称,车型ID,车型名称 字段数据PythonPython

****************

2019.12.25更新

很多网友留言说需要车标logo,果断满足需求

1. 车标logo页面

只需要车标logo和品牌参数,从移动端页面直接获取比较方便

​ https://car.m.autohome.com.cn/​


2.解析车标图片url和品牌名称

response = requests.get("https://car.m.autohome.com.cn/")
response.encoding = UTF-8
html = etree.HTML(response.text)
items = html.xpath(//*[@class="item"])
for item in items:
logo_url = item.xpath(./img/@data-src)
if not logo_url:
continue
text = item.xpath(./span)[0].text
downLoadImage(text, logo_url[0])

3.根据url下载图片

def downLoadImage(fileName, downLoadUrl):
r = requests.get(downLoadUrl)
fileName = fileName + ".jpg"
print("正在下载 " + fileName)
with open("img/" + fileName, wb) as f:
f.write(r.content)

4.运行结果Python

**************

2019.12.17更新

**闲来无事研究了一下*车之家页面class 字体混淆**

Python思路:

  1. 取车型参数页面源码
  1. 析车型混淆字体js数据
  2. 析车型参数json数据
  3. 配样式文件与json数据
  4. 混淆后的字体替换为正常字体

效果:Python途中碰到问题:


  • [x] 历史车型的获取
  • [x] 全部参数的解析
  • [x] 数据错位问题

****

2019.10.12更新

有人反馈数据不全刚抽出时间看了一下,原来之前只取了在售车型没有获取停售的车型数据,本次更新后数据为国内在售(停售)全系车型数据包含历史数据Python

****

2019.9.29更新

闲来无事把脚本更新了一下用selenium,获取了全系全车型详细参数,主要这次包含了停售车型数据,所有历史车型数据Python

****

所有车型数据

Python分析发现所有车型数据在一个js文件中:

ps:当然也可通过解析网页 xpath提取,或通过接口,获取方式有很多种,此文主要需要seriesId 车型ID 这一项数据 为获取车型价格做准备 顾用此方法。

Python

def get_model(self):
"""获取所有车型数据"""
# 所有车型js文件
url = <del>删除线格式</del>
response = self._parse_url(url)
# GBK解码
content = response.content.decode(GBK)
# 剔除开头和结尾处多余字符 转换为json
content = content.replace(var listCompare$100= , ).replace(;, )
content = json.loads(content)
for i in content:
# 品牌首字母,名称,车系列表
brand_l, brand_n, brand_list, = i[L], i[N], i[List]
for q in brand_list:
# 车系名称,车型列表
car_l, car_list = q[N], q[List]
for t in car_list:
# 车型ID, 车型名称
model_l = t[I]
model_n = t[N]
yield brand_l, brand_n, car_l, model_n, model_l

Python

获取价格

Python

价格接口需要两个参数:dealerId 经销商ID 和 seriesId 车型ID

Python

经销商接口需要两个参数:seriesId 车型ID 和 cityId 区域代码

def get_price(self, dealerId, seriesId):
"""获取价格"""
url = ‘<del>删除线格式</del> ’
# 根据经销商ID 和 车型ID 获取车型价格
response = self._parse_url(url)
# 无数据跳过
if not response.json()[result][list]:
print(暂无经销商信息)
return
# 获取经销商信息 主要取经销商ID 用来获取价格
contents = response.json()[result][list]
for con in contents:
# 汽车型号
SpecName = con[SpecName]
# 指导价
OriginalPrice = con[OriginalPrice]
# 参考价
Price = con[Price]
print(数据请求中.format(SpecName))
yield SpecName, OriginalPrice, Price

Python

****

数据DEMO

链接:​​https://pan.baidu.com/s/1aQMR_2ix_ANK7DkujxaAwg​

提取码:cmwi

****

<table><tr><td bgcolor=orange>本文仅供学习交流使用,如侵立删!

****

以上是关于Python 汽车之家 全系车型参数(包含历史停售车型) 最全的主要内容,如果未能解决你的问题,请参考以下文章

『网络爬虫』买车比价,自动采集某车之家各车型裸车价

『网络爬虫』买车比价,自动采集某车之家各车型裸车价

如何前端实现类似汽车之家车辆对比的功能?

汽车之家电商平台秒杀系统架构实现

汽车之家推荐系统排序算法迭代之路

车型参数整理