欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。
文章目录
- 一项目简介
- 二、数据读取
- 三、基于python的汽车信息爬取与可视化分析系统
- 3.1 登录注册
- 3.2 不同汽车品牌的车系数量分布情况
- 3.3汽车品牌的车系数量与汽车类型分布情况
- 3.4 汽车品牌的平均评分分布情况
- 3.5 各汽车品牌的评分最高Top10
- 3.6 不同汽车不同车系、续航里程等因素下的指导价分布情况
- 四. 汽车数据爬虫
- 4.1 获取所有汽车品牌数据
- 4.2 获取每个品牌汽车的详细参数信息
- 五. 总结
本项目利用网络爬虫技术从某汽车门户网站采集汽车数据,并利用 Flask + Echarts 前后端框架, 实现对汽车数据的可视化分析,包括不同品牌汽车的评分、车型级别、车身结构、发动机、变速箱和指导价等维度进行可视化统计分析。
功能主要包括:
不同汽车的品牌、车系、评分、级别、车身结构、发动机和变速箱等因素对汽车价格的影响分析:
利用 python 的 request + beautifulsoup 从某汽车门户平台采集汽车数据。
:
url = 'https://car.xxxx.com.cn/AsLeftMenu/As_LeftListNew.ashx?typeId=1%20&brandId=0%20&fctId=0%20&seriesId=0'
headers = {
'accept': '*/*',
'accept-encoding': 'gzip, deflate, br',
'accept-language': 'zh-CN,zh;q=0.9,en;q=0.8',
'cookie': 'Your cookies',
'referer': 'https://car.xxxx.com.cn/',
'sec-fetch-dest': 'empty',
'sec-fetch-mode': 'cors',
'sec-fetch-site': 'same-origin',
'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 11_1_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36'
}
response = requests.get(url, headers=headers)
response.encoding = 'gbk'
soup = BeautifulSoup(response.text[18:-3], 'lxml')
brands = soup.find_all('a')
brand_urls = {}
for brand in brands:
brand_name = brand.text
brand_href = 'https://car.xxxx.com.cn' + brand['href']
brand_urls[brand_name.split('(')[0]] = brand_href
def fetch_brand_cars_info(brand, url):
headers = {
'accept': '*/*',
'accept-encoding': 'gzip, deflate, br',
'accept-language': 'zh-CN,zh;q=0.9,en;q=0.8',
'cookie': 'Your cookies',
'referer': url,
'sec-fetch-dest': 'empty',
'sec-fetch-mode': 'cors',
'sec-fetch-site': 'same-origin',
'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 11_1_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36'
}
response = requests.get(url, headers=headers)
response.encoding = 'gbk'
soup = BeautifulSoup(response.text, 'lxml')
cars = soup.select('div.list-cont')
brand_cars = []
for car in cars:
car_info = {'品牌': brand}
name = car.select('a.font-bold')[0].text
score = car.select('span.score-number')
if len(score) == 0:
score = '暂无'
else:
score = score[0].text
car_info['车系'] = name
car_info['评分'] = score
ul = car.select('ul.lever-ul')[0]
for li in ul.select('li'):
data = li.text.replace('\xa0', '').replace(' ', '').replace(' ', '').strip().split(':')
if '颜色' in data[0]: continue
if len(data) < 2: continue
car_info[data[0]] = data[1]
price = car.select('span.font-arial')[0].text
price = price.split('-')
if len(price) == 1:
car_info['最低指导价'] = price[0]
car_info['最高指导价'] = price[0]
else:
car_info['最低指导价'] = price[0] + '万'
car_info['最高指导价'] = price[1]
car_info['链接'] = url
brand_cars.append(car_info)
return brand_cars
本项目利用网络爬虫技术从某汽车门户网站采集汽车数据,并利用 Flask + Echarts 前后端框架, 实现对汽车数据的可视化分析,包括不同品牌汽车的评分、车型级别、车身结构、发动机、变速箱和指导价等维度进行可视化统计分析。
————————————————