Python技术知识获取数据并进行可视化(已火锅店为例)

简介: Python技术知识获取数据并进行可视化(已火锅店为例)

想吃火锅不知道怎么选,我用python熬肝一晚抓取全国火锅店做top10分析

目录
前言
1、数据溯源
1.1 打开地图搜索,可以看到地图上能展示很多店铺数据,那么数据从哪里来的呢?
1.2 网络助手调试
2、编写爬虫程序
2.1 导入相关库
2.2 请求数据
2.3以下为店铺部分数据
3、数据存放到表格
4、数据分析
5、湖南火锅店数量分布
6、全国火锅店数量分布
总结
前言
对象是川蜀人,比较喜欢吃火锅,每次都在为选择网红店而发愁,因此我用python爬虫花了一晚的时间抓取市内所有的店铺做可视化分析

需求: 抓取市内火锅店数量情况,并将这些数据进行可视化展示,以更加直观的方式去浏览省内不同城市火锅店分布情况

本文数据来自于某度地图,通过python技术知识去获取数据并进行可视化

注: 本文内容仅作为编程技术学习讨论,相关代码和数据不可用于商业用途,否则后果自负。

1、数据溯源
1.1 打开地图搜索,可以看到地图上能展示很多店铺数据,那么数据从哪里来的呢?

1.2 网络助手调试
打开网络调试助手,可以看到这里面就有对应店铺的数据,数据的传输都是通过这个API来交互的,可以通过爬虫请求这个接口获取需要的数据

注:关于网络调试助手的使用,点击蓝色字体即可拿到相关资料

2、编写爬虫程序
2.1 导入相关库
import requests,openpyxl
from numpy import mean
from pyecharts import options as opts
from pyecharts.charts import Map
1
2
3
4
2.2 请求数据
下面开始编写请求数据代码(请求时记得带上headers)

headers = {

    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36",
    'Referer':'https://map.baidu.com/@12949550.923158279,3712445.9716704674,6.28z',
    "Cookie":";"你的cookie",

}

url = "https://ditu.baidu.com/?newmap=1&reqflag=pcmap&biz=1&from=webmap&da_par=direct&pcevaname=pc4.1&qt=s&da_src=searchBox.button&wd=%E7%81%AB%E9%94%85%E5%BA%97&c=158&src=0&wd2=&pn=0&sug=0&l=13&b=(12553849.45,3237935.24;12570777.45,3265551.24)&from=webmap&biz_forward={%22scaler%22:1,%22styles%22:%22pl%22}&sug_forward=&auth=P65Ox7I43B3Ta0COBJTb5D4NVW9RBQ9TuxLETRBxBLLty9iRyki%3DxXwvYgP1PcGCgYvjPuVtvYgPMGvgWv%40uVtvYgPPxRYuVtvYgP%40vYZcvWPCuVtvYgP%40ZPcPPuVtvYgPhPPyheuVtvhgMuxVVtcvY1SGpuTtGKD%3DCCGYuxtE20w5V198P8J9v7u1cv3uxt2dd9dv7uPWv3Guxt58Jv7uPYIUvhgMZSguxzBEHLNRTVtcEWe1aDYyuVt%40ZPuzteL1wWveuxtf0wd0vyMFUSCy7OAupt66FKEu%3D%3D8xX&seckey=vHBTJ4tdi68MW8qWw%2BjU2KFSTFNFo3ItXO6ack3ti8w%3D%2CAp6F2yrR-L11fgqtb_BCcR__vsbaezgdq3dBSEVigT5dYmDiJD8CMaToeS_RfR0pFYByyqzM_Fym7UZvX8dmUA_npbBsJiTpMFwIgVQ5pFQ4nDgupLc5wRg_xqikNzFJMAI55erqBKkbkNQqXfrs9hl6futZVDWgi_jFWBfUDhiNyCGARzZeP0UzmuY9sAJX&device_ratio=1&tn=B_NORMAL_MAP&nn=0&u_loc=12568222,3256533&ie=utf-8&t=1649831407880&newfrom=zhuzhan_webmap"

response = requests.get(url,headers=headers).json()
1
2
3
4
5
6
7
8
9
这里的cookie可以在浏览器network中复制即可。

通过返回的json数据可知道,我们的目标数据在content中,里面是列表数据是店铺资源(overall_rating是评分,phone是店家电话,price是均价,name是店铺名称)

2.3以下为店铺部分数据

   res = session.get(url, headers=headers)
    if res.status_code == 200:
        items = res.json()
        for i in items.get('content')[0:10]:
            ext = i.get('ext').get('detail_info')
            overall_rating = ext.get('overall_rating')
            phone = ext.get('phone')
            price = ext.get('price')
            name = ext.get('name')
            print(overall_rating,phone,price,name)

1
2
3
4
5
6
7
8
9
10

3、数据存放到表格
work = openpyxl.Workbook()
ws = work.create_sheet(title='省数据', index=0)
ws.append(['评分', '联系方式', '价格', '店名'])
1
2
3

4、数据分析
根据值评分进行排行统计TOP10店铺

5、湖南火锅店数量分布
为了绘制城市的分布图,选择了湖南省为例进行绘制(如果要绘制全国的所有城市,那样出来的图密密麻麻,不美观)

c2 = (
    Map()
        .add(f"湖南{wd}店数量各市统计", bb, "湖南")
        .set_global_opts(
        title_opts=opts.TitleOpts(title=f"湖南{wd}店数量分布"), visualmap_opts=opts.VisualMapOpts()
    )
        .render(f"湖南{wd}店数量分布.html")
)
return c1,c2

1
2
3
4
5
6
7
8
9

6、全国火锅店数量分布
u

attr = data['省份'].tolist()
value = data['数量'].tolist()
name = []
for i in attr:

if "省" in i:
    name.append(i.replace("省",""))
else:
    name.append(i)

from pyecharts import options as opts
from pyecharts.charts import Map
from pyecharts.faker import Faker
c = (

Map()
    .add("数量", [list(z) for z in zip(name, value)], "china")
    .set_global_opts(title_opts=opts.TitleOpts(title="全国火锅店数量分布情况"))
    .render("全国火锅店数量分布情况.html")

)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

目录
相关文章
|
20天前
|
数据采集 数据可视化 数据挖掘
利用Python自动化处理Excel数据:从基础到进阶####
本文旨在为读者提供一个全面的指南,通过Python编程语言实现Excel数据的自动化处理。无论你是初学者还是有经验的开发者,本文都将帮助你掌握Pandas和openpyxl这两个强大的库,从而提升数据处理的效率和准确性。我们将从环境设置开始,逐步深入到数据读取、清洗、分析和可视化等各个环节,最终实现一个实际的自动化项目案例。 ####
|
4天前
|
分布式计算 大数据 数据处理
技术评测:MaxCompute MaxFrame——阿里云自研分布式计算框架的Python编程接口
随着大数据和人工智能技术的发展,数据处理的需求日益增长。阿里云推出的MaxCompute MaxFrame(简称“MaxFrame”)是一个专为Python开发者设计的分布式计算框架,它不仅支持Python编程接口,还能直接利用MaxCompute的云原生大数据计算资源和服务。本文将通过一系列最佳实践测评,探讨MaxFrame在分布式Pandas处理以及大语言模型数据处理场景中的表现,并分析其在实际工作中的应用潜力。
24 2
|
16天前
|
数据可视化 编译器 Python
Manim:数学可视化的强大工具 | python小知识
Manim(Manim Community Edition)是由3Blue1Brown的Grant Sanderson开发的数学动画引擎,专为数学和科学可视化设计。它结合了Python的灵活性与LaTeX的精确性,支持多领域的内容展示,能生成清晰、精确的数学动画,广泛应用于教育视频制作。安装简单,入门容易,适合教育工作者和编程爱好者使用。
79 7
|
19天前
|
数据采集 分布式计算 大数据
构建高效的数据管道:使用Python进行ETL任务
在数据驱动的世界中,高效地处理和移动数据是至关重要的。本文将引导你通过一个实际的Python ETL(提取、转换、加载)项目,从概念到实现。我们将探索如何设计一个灵活且可扩展的数据管道,确保数据的准确性和完整性。无论你是数据工程师、分析师还是任何对数据处理感兴趣的人,这篇文章都将成为你工具箱中的宝贵资源。
|
1月前
|
数据可视化 图形学 Python
在圆的外面画一个正方形:Python实现与技术解析
本文介绍了如何使用Python的`matplotlib`库绘制一个圆,并在其外部绘制一个正方形。通过计算正方形的边长和顶点坐标,实现了圆和正方形的精确对齐。代码示例详细展示了绘制过程,适合初学者学习和实践。
42 9
|
27天前
|
数据可视化 数据处理 Python
Python编程中的数据可视化技术
在Python编程中,数据可视化是一项强大的工具,它能够将复杂的数据集转化为易于理解的图形。本文将介绍如何使用matplotlib和pandas这两个流行的Python库来实现数据可视化,并展示一些实用的代码示例。通过这些示例,读者将学会如何创建各种图表,包括折线图、柱状图和散点图等,以便更好地理解和呈现数据。
|
1月前
|
存储 数据可视化 数据挖掘
使用Python进行数据分析和可视化
本文将引导你理解如何使用Python进行数据分析和可视化。我们将从基础的数据结构开始,逐步深入到数据处理和分析的方法,最后通过实际的代码示例来展示如何创建直观的数据可视化。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的见解和技巧。让我们一起探索数据的世界,发现隐藏在数字背后的故事!
|
1月前
|
传感器 物联网 开发者
使用Python读取串行设备的温度数据
本文介绍了如何使用Python通过串行接口(如UART、RS-232或RS-485)读取温度传感器的数据。详细步骤包括硬件连接、安装`pyserial`库、配置串行端口、发送请求及解析响应等。适合嵌入式系统和物联网应用开发者参考。
46 3
|
25天前
|
数据采集 API 定位技术
Python技术进阶:动态代理IP的跨境电商解决方案
Python技术进阶:动态代理IP的跨境电商解决方案
|
1月前
|
数据采集 JavaScript 程序员
探索CSDN博客数据:使用Python爬虫技术
本文介绍了如何利用Python的requests和pyquery库爬取CSDN博客数据,包括环境准备、代码解析及注意事项,适合初学者学习。
77 0

热门文章

最新文章