本文仅供学习交流使用,如侵立删!联系方式及demo下载见文末

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


2021.10.21更新

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


2021.8.12更新

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

2021.7.8更新

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


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


2021.5.17更新

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


2021.4.14更新

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






2021.3.7更新最新数据


2021.1.29更新

全系车辆十年保值率数据


2021.1.17更新

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


2021.1.8更新

增加:品牌LOGO


2021.1.6更新

更新:最新2021官网数据




2020.5.9更新

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

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



2020.4.15更新

更新最新官网数据


2020.3.22更新

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

https://blog.csdn.net/qq_38154948/article/details/104700905


2020.1.9更新

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




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.运行结果


2019.12.17更新

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



思路:

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

效果:



途中碰到问题:

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

2019.10.12更新

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


2019.9.29更新

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


所有车型数据



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

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

 def get_model(self):
"""获取所有车型数据"""
# 所有车型js文件
url = '~~删除线格式~~ '
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

获取价格



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



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

    def get_price(self, dealerId, seriesId):
"""获取价格"""
url = ‘~~删除线格式~~ ’
# 根据经销商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


数据DEMO

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

提取码:cmwi

如需完整源码或完整数据资料联系我


本文仅供学习交流使用,如侵立删!
企鹅 、WX: 1033383881

最新文章

  1. go http.Get请求 http.Post请求 http.PostForm请求 Client 超时设置
  2. shell判断条件整理
  3. imx6 kernel clock
  4. 嵌套错误Inline markup blocks (@<p>Content</p>) cannot be nested. Only one level of inline markup is allowed
  5. OrderedDict
  6. [转] git config命令使用第一篇——介绍,基本操作,增删改查
  7. Javascript 注意点
  8. Nodejs in Visual Studio Code 12.构建单页应用Scrat实践
  9. 通过GitHub Pages建立个人站点(详细步骤)
  10. Python中的unittest和logging
  11. The 12th tip of DB Query Analyzer, powerful in text file process
  12. 强化学习(二)马尔科夫决策过程(MDP)
  13. ACM在线模板
  14. 在anaconda下安装已经下载好Opencv4的痛苦回忆
  15. BigDecimal常被忽略的问题
  16. 用opencv抽取视频的帧并保存为连续的图片
  17. 常用笔记:Linux
  18. 【13】python time时间模块知识点备查
  19. 【科普】Web(瓦片)地图的工作原理
  20. eval解析json字符串

热门文章

  1. 992. Sort Array By Parity II - LeetCode
  2. 126_Power BI中使用DAX计算股票RSI及股票均线相关
  3. cefsharp + winform 内嵌网页的触屏输入焦点问题
  4. 基于.NetCore开发博客项目 StarBlog - (8) 分类层级结构展示
  5. 负载均衡之keepalived
  6. MyBatis - MyBatis的层次结构
  7. 【Azure 应用服务】NodeJS Express + MSAL 实现API应用Token认证(AAD OAuth2 idToken)的认证实验 -- passport.authenticate('oauth-bearer', {session: false})
  8. mysql中max_connections与max_user_connections使用区别
  9. Torch的索引与形变
  10. QT5 QSS QML界面美化视频课程系列 QT原理 项目实战 C++1X STL