Python+SSM懂车帝汽车数据分析平台 爬虫代码实例分析

本文介绍了一个汽车信息评价分析系统,该系统采用Python爬虫抓取汽车评论数据并存储到MySQL数据库,然后使用Java的SSM框架进行前端展示和数据分析。系统实现了评论的管理、分析和可视化,旨在提升信息管理效率。文章中还给出了Python爬虫的示例代码,用于获取汽车评论数据。

概述

网络爬虫一直是一项比较炫酷的技术,但是业界一直是Python爬完用django flask框架进行web端展示,今天咱们换个口味。用python爬取,用java展示

开发分析

一、总体目标
本系统全称为汽车信息评价分析系统。主要目的是提高评论信息管理的效率,开发的目的是为用户在汽车网爬取评论信息平台。本系统主要任务是设计开发一个基于python和msyql数据库的汽车信息评价分析系统,以后台数据管理分析为核心,建立以评论分析实现大数据分析可视化管理。
二、功能、性能以及可靠性要求
(一)爬虫技术
汽车信息评价分析系统通过利用爬虫,获取汽车网汽车评论内容存放入数据库,管理系统对所有评论信息进行分析和可视化处理。网站前台用户可以查看到所有汽车评论信息。
(二)数据库技术
利用MYSQL本地数据库,存放在汽车网爬取到的汽车信息,将汽车的汽车名、汽车图片、价格、评论等信息字段分别存入数据库。在以后的论文内容更新中也要加入数据库。
(三)SSM编程技术
利用IDEA编译器,使用SSM框架编程技术对本系统进行前端与后端的代码
处理。同时连接本地数据库,通过系统内的方法,使管理员可以直接在前端进行论文内容的各种操作。

开发技术

爬虫程序:Anconda3 PyCharm PyMySQL Requests框架
数据分析程序:ssm框架 百度echarts EasyUI前端框架

爬虫程序分析

先去用浏览器抓取懂车帝的访问url然后改成python代码抓取网页得到数据

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os
from io import BytesIO
from PIL import Image

import pymysql
import json
from bs4 import BeautifulSoup
import requests

"""

车辆信息列表页面

网址: https://www.dongchedi.com/motor/car_score/api/m/v1/landing_page/get_detail/?series_id=100&data_from=pc_station

参数说明:

https://www.dongchedi.com/motor/car_score/api/m/v1/landing_page/get_detail/?series_id=100&data_from=pc_station

# ajax方式获取车辆详细信息

# https://www.dongchedi.com/auto/library/x-x-x-x-x-x-x-x-x-x-x

参数说明:

clinic_web_c511c49e632a6564:详情参数

# 变量命名总结:
# 1.单下划线开头变量:protected
# 2.双下划线开头变量:private
# 3.双下划线开头,双下划线结尾:系统内置变量

"""


"""
参数:page     页码
     cityName 城市
"""
def __get_car_list_data(page,cityName):
    web_url = 'https://www.dongchedi.com/motor/brand/m/v6/select/series/?city_name='+cityName

    headers = {
        'User-Agent': "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10",
        'Content-type': "application/json;charset=UTF-8"
    }
    data={
        "offset": page,
        "limit": 30,
        "is_refresh": 0,
        "city_name": "北京"
    }
    r = requests.post(headers = headers,url=web_url,data=data)
    _body = r.text
    return _body

"""

在这里插入图片描述

数据可视化代码分析

数据可视化借助java的easyui 百度echarts插件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
具体实现代码如下:

    @PostMapping("/barCharts")
    @ResponseBody
    public Map barCharts()
    {
        result=new HashMap<String,Object>();
        try
        {
            List<PicCharts> picCharts=carService.barCharts();
            result.put("code", ResponseCode.SUCCESS_HEAD);
            result.put("msg","success");
            result.put("data",picCharts);
        } catch (Exception e)
        {
            result.put("code", ResponseCode.EXCEPTION_HEAD);
            result.put("failure",true);
            result.put("msg",e.getMessage());
            e.printStackTrace();
        }
        return result;
    }

很明显能感觉到这是返回json代码给前端进行封装可视化展现

分享给大家 希望我的讲解帮助大家学会Python+SSM开发模式

### 爬取和清洗数据的方法 爬取和清洗的数据需要结合Python爬虫框架(如Scrapy)以及数据处理库(如Pandas)。以下是具体的技术实现思路: #### 1. 数据爬取 使用Scrapy框架进行数据爬取,其核心步骤包括定义爬虫目标、解析HTML页面以及存储数据。以下是一个简单的Scrapy爬虫示例[^3]: ```python import scrapy class DongchediSpider(scrapy.Spider): name = "dongchedi" start_urls = ["https://www.dongchedi.com/"] def parse(self, response): for item in response.css('div.item'): yield { 'brand_id': item.css('span.brand-id::text').get(), 'brand_name': item.css('h3.title::text').get(), 'cover_url': item.css('img.cover::attr(src)').get(), 'outter_name': item.css('p.outter-name::text').get(), 'official_price': item.css('span.price::text').get(), 'count': item.css('span.count::text').get(), 'dcar_score': item.css('span.score::text').get() } ``` 此代码通过CSS选择器提取了平台上的汽车品牌ID、名称、封面图片链接、外部名称、官方价格、计数以及评分等信息[^3]。 #### 2. 数据清洗 在爬取到数据后,通常需要对数据进行清洗以确保其质量。可以使用Pandas库来完成这一任务。以下是一个数据清洗的示例代码: ```python import pandas as pd # 假设已经爬取并保存了数据为 CSV 文件 data = pd.read_csv("dongchedi_data.csv") # 删除重复行 data.drop_duplicates(inplace=True) # 填充缺失值 data['dcar_score'].fillna(0, inplace=True) data['official_price'].fillna("未知", inplace=True) # 转换数据类型 data['count'] = pd.to_numeric(data['count'], errors='coerce') data['dcar_score'] = pd.to_numeric(data['dcar_score'], errors='coerce') # 过滤无效数据 data = data[data['brand_name'].notna()] data = data[data['official_price'] != "未知"] # 保存清洗后的数据 data.to_csv("cleaned_dongchedi_data.csv", index=False) ``` 此代码片段展示了如何删除重复数据、填充缺失值、转换数据类型以及过滤无效记录[^1]。 #### 3. 注意事项 - 在爬取数据时,需遵守目标网站的robots.txt文件规定,避免违反法律或道德规范。 - 对于动态加载的内容,可能需要使用Selenium或其他工具模拟浏览器行为。 - 数据清洗过程中应特别注意异常值和不一致的格式,确保最终数据的准确性和一致性。 ### 工具与技术栈 - **Scrapy**:用于高效爬取网页数据。 - **Pandas**:用于数据清洗和预处理。 - **Selenium**(可选):用于处理JavaScript渲染的页面。 ---
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

B站计算机毕业设计大学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值