温馨提示:文末有 CSDN 平台官方提供的学长 QQ 名片 :)
1. 项目简介
本项目利用网络爬虫技术从XX点评APP采集北京市的餐饮商铺数据,利用数据挖掘技术对北京美食的分布、受欢迎程度、评价、评论、位置等情况进行了深入分析,方便了解城市美食店铺的运营状况、消费者需求、市场趋势和竞争格局等。 本系统利用 Flask 搭建 web 后端分析服务,利用 Bootstrap 和 Echarts 等搭建交互式可视化分析系统。
2. 城市热门餐饮美食数据采集
利用Python网络爬虫技术,采集某点评网站的北京市各地区餐饮美食店铺数据:
# 。。。。。
# 省略其他代码# 采集的商铺数量
total_shop_count = 0
# 批量插入数据的数组
batch_insert_datas = []
for a_link in a_links:if 'http' not in a_link['href']:continuecate = a_link.text.strip()base_url = a_link['href']print(f'采集 `{cate}` 类别的美食数据,{base_url}')for page in range(1, 26):url = base_url + 'p{}'.format(page)print(f'>采集:{url}')headers['Referer'] = referer_urlresp = requests.get(url, headers=headers)resp.encoding = 'utf8'referer_url = urlsoup = BeautifulSoup(resp.text, 'lxml')shop_list = soup.find('div', id='shop-all-list')if shop_list is None:print("没有找到符合条件的商户~")continueshops = shop_list.find_all('li')for shop_li in shops:try:# 商铺链接href = shop_li.find('div', class_='tit').a['href']# 商铺图片# 。。。。。# 省略其他代码shop_info = (name, image_url, href, star, review_num, mean_price, food_type, addr, recommend_food)batch_insert_datas.append(shop_info)except:print(page)print(shop_li)continueif len(batch_insert_datas) % 10 == 0:sql = "INSERT INTO meishi_info (name, image_url, href, star, review_num, mean_price, food_type, addr, recommend_food) VALUES (?,?,?,?,?,?,?,?,?);"cursor.executemany(sql, batch_insert_datas)conn.commit()total_shop_count += len(batch_insert_datas)print(f'已采集和解析商铺数量:{total_shop_count}')batch_insert_datas.clear()
# 。。。。。
# 省略其他代码
3. 城市热门美食数据可视化分析系统
3.1 首页及注册登录
3.2 热门店铺名称词云分析
3.3 餐饮店铺菜系分析
3.3.1 不同菜系商铺数量分布情况
3.3.2 不同菜系评分分布情况
3.3.3 不同菜系平均人均消费价格分布情况
3.4 商铺地理区域分析
3.4.1 餐饮店铺人均价格和评分在不同地区的分布情况
3.4.2 不同类型餐饮店铺的人均价格和评分的分布情况
3.5 餐饮商铺个性化推荐
4. 总结
本项目利用网络爬虫技术从XX点评APP采集北京市的餐饮商铺数据,利用数据挖掘技术对北京美食的分布、受欢迎程度、评价、评论、位置等情况进行了深入分析,方便了解城市美食店铺的运营状况、消费者需求、市场趋势和竞争格局等。 本系统利用 Flask 搭建 web 后端分析服务,利用 Bootstrap 和 Echarts 等搭建交互式可视化分析系统。
欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。技术交流、源码获取认准下方 CSDN 官方提供的学长 QQ 名片 :)
精彩专栏推荐订阅:
1. Python 毕设精品实战案例
2. 自然语言处理 NLP 精品实战案例
3. 计算机视觉 CV 精品实战案例