Python 懂车帝全车系销量排行榜

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: Python 懂车帝全车系销量排行榜
本文所有教程及源码、软件仅为技术研究。不涉及计算机信息系统功能的删除、修改、增加、干扰,更不会影响计算机信息系统的正常运行。不得将代码用于非法用途,如侵立删!

Python 懂车帝全车系销量排行榜

需求

车系ID   城市 时间段    车系名称   销量                                                                
4363   深圳 2022年2月    Model Y    1,224                                                                 
分城市榜单,所有城市热销榜,拉到底部获取全部车系数据    

image.png

操作环境

  • win10
  • Google nexus5x(root)
  • Python3.9
  • Charles

需求分析

既然需要所有城市的热销榜,那么第一步需要先拿到全国城市列表
先来web端试下能否找到需要的数据接口,打开页面F12查看Network
在这里插入图片描述
根据页面关键词搜索没有找到明显的数据接口,虽然说现在也可以使用request或者selenium直接在页面解析数据,但是毕竟这不是首选方案,还是从APP分析一下在决定用什么方案。
PS:手机环境、抓包环境的配置在这不在赘述,有兴趣的可参考之前的文章 APP抓包环境配置

下载懂车帝APP,并安装至手机
请添加图片描述
手机开启Postern,pc打开charles

至此抓包工作准备完成,打开懂车帝APP,进入选择城市页面

image.png
还是老套路先根据页面关键词搜索一波

image.png
竟然没有需要的数据!不着急,多试几次,确定Charles抓到了所有的数据包,然后逐条分析一下,找到下图这个接口,看路径名猜测应该就是需要的数据接口,原来数据中中文经过了编码,难怪搜索不到,在线json解析看一下
分享一个常用的json数据在线解析网站

image.png
正是所需数据
全国城市列表接口:

https://********?iid=2467735824764398&device_id=40011211486215&ac=wifi&channel=dcd-yd-11zh-and-74&aid=36&app_name=automobile&version_code=693&version_name=6.9.3&device_platform=android&os=android&ab_client=a1%2Cc2%2Ce1%2Cf2%2Cg2%2Cf7&ab_group=3167590%2C3577236%2C3333988&ssmix=a&device_type=Nexus+5X&device_brand=google&language=zh&os_api=27&os_version=8.1.0&manifest_version_code=693&resolution=1080*1794&dpi=420&update_version_code=6931&_rticket=1649079408626&cdid=f3163204-7faf-45d7-89c4-e82215c3216c&city_name=%E8%81%8A%E5%9F%8E&gps_city_name=%E8%81%8A%E5%9F%8E&selected_city_name&rom_version=27&longi_lati_type=1&longi_lati_time=1649079423941&content_sort_mode=0&total_memory=1.77&cpu_name=Qualcomm+Technologies%2C+Inc+MSM8992&overall_score=4.873&cpu_score=4.8872&host_abi=armeabi-v7a

对!你没看错,就是这么长,验证一下数据接口,在网页中直接请求一下这个url

image.png
这儿推荐安装一个网页json可视化的插件,这儿偷懒没装,在线解析了一下json数据,和Charles抓到的数据是一样

城市热销榜数据接口就比较简单了,使用上面的方法很容易就能抓到数据接口,修改city_name参数和offset翻页即可

https:/******?city_name=%E8%A5%BF%E5%AE%89&count=10&offset=10&month=&new_energy_type=&
rank_data_type=64&brand_id=&price=&manufacturer=&outter_detail_type=&nation=0

获取全国城市列表

直接请求接口获取即可,这边使用了一个jsonpath模块用来提取json数据,很好用强烈推荐!

def get_month(self):
    """
    获取城市列表
    """
    response = self._parse_url(url).json()
    # 提取json数据中所有的城市名
    models = jsonpath(response, '$..city_name')
    return models

image.png

获取指定城市热销榜

def get_score(self, city_name):
    """
    获取指定城市热销榜
    city_name: 城市名
    """
    offset = 0
    while True:
        response = self._parse_url(url).json()
        tag_list = response.get('data').get('list')
        # 没有数据跳出
        if not tag_list:
            return
        for tag in tag_list:
            series_id = tag.get('series_id')  # 车系ID
            series_name = tag.get('series_name')  # 车系名称
            count = tag.get('count')  # 车系销量
            yield series_id, series_name, count
        # 翻页参数
        offset += 100

运行效果

image.png

资源下载

https://download.csdn.net/download/qq_38154948/85077866


本文仅供学习交流使用,如侵立删!

相关文章
|
6月前
|
数据采集 JSON 数据可视化
【python】python懂车帝数据可视化(代码+报告)
【python】python懂车帝数据可视化(代码+报告)
|
6月前
|
数据可视化 API Python
画图实战-Python实现某产品全年销量数据多种样式可视化
画图实战-Python实现某产品全年销量数据多种样式可视化
84 0
Python代码用于获取天猫图书类商品的销量
Python代码用于获取天猫图书类商品的销量
|
6月前
|
数据采集 机器学习/深度学习 供应链
python基于评论情感分析和回归、arima销量预测的购物网站选品
python基于评论情感分析和回归、arima销量预测的购物网站选品
|
搜索推荐 API Python
python代码用于获取淘宝商品详情和销量
python代码用于获取淘宝商品详情和销量
|
数据采集 数据挖掘 开发者
python 获取商品信息 | 没想到销量最高的是
python获取商品信息 | 没想到销量最高的是
|
数据采集 安全 Python
用Python来看看网友是如何在《外卖平台销量第一的炸鸡店有多脏》的热搜下评论的!
大家好,我是志斌~ 今天志斌在微博上看到一条关于炸鸡的热搜。
170 0
用Python来看看网友是如何在《外卖平台销量第一的炸鸡店有多脏》的热搜下评论的!
|
数据采集 JSON 数据可视化
用Python爬取分析【某东618】畅销商品销量数据,带你看看大家都喜欢买什么!
618购物节,辰哥准备分析一波购物节大家都喜欢买什么?本文以某东为例,Python**爬取**618活动的畅销商品数据,并进行**数据清洗**,最后以**可视化**的方式从不同角度去了解畅销商品中,名列前茅的商品是哪些?销售数据如何?用户好评如何?等等
368 0
|
Web App开发 JSON 数据可视化
Python 懂车帝综合口碑数据
Python 懂车帝综合口碑数据
|
数据采集 Web App开发 JSON
Python 懂车帝口碑分爬虫
Python 懂车帝口碑分爬虫