所有车型数据
分析发现所有车型数据在一个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
如需完整源码或数据完整数据资料请下方留言
https://download.csdn.net/download/qq_38154948/11295670 Model数据下载链接
ps:此文仅限学习交流使用,如有侵权请联系