基于外卖平台POI的城市餐饮业空间热点分析系统

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。

一项目简介

   本项目利用网络爬虫技术从某外卖平台APP采集餐饮商铺数据,系统采用 flask 搭建 web 后台,利用 pandas 等工具包实现对数据整体质量分析、评分和价格等维度分析等进行统计分析,并利用 bootstrap + echarts 进行前端渲染可视化。同时对分析出的商铺平均得分和平均价格等信息,通过百度地图API实现热力图的可视化展示。

二、数据读取

  功能主要包括:

在这里插入图片描述

三、基于外卖平台POI的城市餐饮业空间热点分析系统

3.1 登录注册

在这里插入图片描述

3.2 店铺名称关键词抽取和词云分析

在这里插入图片描述

3.3店铺名称关键词抽取和词云分析

在这里插入图片描述

3.4 餐饮店铺人均价格和评分在不同地区的分布情况

在这里插入图片描述

3.5 地区不同类型餐饮店铺的人均价格和评分的分布情况

在这里插入图片描述

3.6 商铺好评度空间热力图分析

在这里插入图片描述

四. 外卖平台 POI 数据采集

   外卖平台 POI 数据采集

api_url = 'https://meishi.xxxx.com/i/api/channel/deal/list'
all_items_infoes = []
fout = open('南京餐饮业空间数据.json', 'a+', encoding='utf-8')
 
page = 98
while True:
    print('抓取第 {} 页的美食数据...'.format(page + 1))
    offset = 15 * page
    # 解析返回的 json 格式数据
    data = None
    try:
        data = get_html(api_url, offset)
 
        params = {"uuid": "xxxx.xxxxxxx", "version": "8.2.0", "platform": 3, "app": "",
              "partner": 126, "riskLevel": 1, "optimusCode": 10,
              "originUrl": "http://meishi.xxxxxxx.com/i/?ci=55&stid_b=1&cevent=imt%2Fhomepage%2Fcategory1%2F1",
              "offset": offset, "limit": 15, "cateId": 1, "lineId": 0, "stationId": 0, "areaId": 0, "sort": "default",
              "deal_attr_23": "", "deal_attr_24": "", "deal_attr_25": "", "poi_attr_20043": "", "poi_attr_20033": ""}
        response = requests.post(url, params, headers=headers)
        encode = chardet.detect(response.content)
        response.encoding = 'gbk' if encode['encoding'] == 'GB2312' else 'utf8'
        
        data = json.loads(response.text)
        item_list = data['data']['poiList']['poiInfos']
    except:  # 所有数据抓取完成,跳出循环
        print(data)
        time.sleep(10 + random.random())
        continue
    for item in item_list:
        item_info = {
            '均价': item['avgPrice'],
            '评分': item['avgScore'],
            '类别': item['cateName'],
            '图片': item['frontImg'] if not item['frontImg'].startswith('//') else 'http:' + item['frontImg'],
            '经度': item['lng'],
            '纬度': item['lat'],
            '商铺名称': item['name'],
            '所在地区': item['areaName']
        }
        all_items_infoes.append(item_info)
        if len(all_items_infoes) % 10 == 0:
            fout.writelines([json.dumps(line, ensure_ascii=False) + '\n' for line in all_items_infoes])
            fout.flush()
            all_items_infoes.clear()
    time.sleep(6 + random.random()*10)
    page += 1

五. 总结

  本项目利用网络爬虫技术从某外卖平台APP采集餐饮商铺数据,系统采用 flask 搭建 web 后台,利用 pandas 等工具包实现对数据整体质量分析、评分和价格等维度分析等进行统计分析,并利用 bootstrap + echarts 进行前端渲染可视化。同时对分析出的商铺平均得分和平均价格等信息,通过百度地图API实现热力图的可视化展示。
————————————————

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值