温馨提示:文末有 CSDN 平台官方提供的学长 QQ 名片 :)
1. 项目简介
本项目利用网络爬虫技术从某外卖平台APP采集餐饮商铺数据,系统采用 flask 搭建 web 后台,利用 pandas 等工具包实现对数据整体质量分析、评分和价格等维度分析等进行统计分析,并利用 bootstrap + echarts 进行前端渲染可视化。同时对分析出的商铺平均得分和平均价格等信息,通过百度地图API实现热力图的可视化展示。
基于外卖平台POI的城市餐饮业空间热点分析系统
2. 功能组成
基于外卖平台POI的城市餐饮业空间热点分析的功能主要包括:
3. 外卖平台 POI 数据采集
利用 python 的 request + beautifulsoup 抓取某外卖平台的 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
4. 基于外卖平台POI的城市餐饮业空间热点分析系统
4.1 系统注册登录
4.2 店铺名称关键词抽取和词云分析
4.3 餐饮店铺类型分布情况
4.4 餐饮店铺人均价格和评分在不同地区的分布情况
4.5 地区不同类型餐饮店铺的人均价格和评分的分布情况
4.6 商铺好评度空间热力图分析
4.7 商铺餐饮平均价格空间热力图分析
5. 总结
本项目利用网络爬虫技术从某外卖平台APP采集餐饮商铺数据,系统采用 flask 搭建 web 后台,利用 pandas 等工具包实现对数据整体质量分析、评分和价格等维度分析等进行统计分析,并利用 bootstrap + echarts 进行前端渲染可视化。同时对分析出的商铺平均得分和平均价格等信息,通过百度地图API实现热力图的可视化展示。
欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。技术交流、源码获取认准下方 CSDN 官方提供的学长 QQ 名片 :)
精彩专栏推荐订阅: