【数据分析】大众点评北京美食分析1--数据准备 失败

后期经sql统计,发现数据有误,此次数据抓取所得作废

举例:
通过以下语句,进行select,得到如下结果

select area,style,count(style) from unite
group by style
order by count(style) desc;
unite select

同样根据area对火锅(hotpot)数据进行group by,得到如下结果

hotpot select

unite 750条数据中三元桥有106家火锅,但hotpot 750条数据中三里屯有698家火锅,三元桥无火锅,说明数据量选取范围太小,具有偶然性,需重新抓取

第一步:通过爬虫软件爬取大众点评美食页面店家数据,由于点评只显示50页,每页25条,共得到数据750条

爬取页面地址:https://www.dianping.com/search/category/2/10

补充:将整体数据爬取下来后,发现以下几个菜系数据较多,因此单独爬取了单独菜系的数据:火锅、日本菜、川菜、西餐、烧烤、北京菜、韩国料理
一级页面

一级页面字段有限,我对二级页面进行了爬取,共选取了以下几个字段

二级页面

其中红框所示字段为选取标签内容,箭头所指星标则选取整个标签内容,以便获取鼠标悬停时显示内容

源代码
鼠标悬停星级
第二步:进行数据爬取后,得到如下数据
元数据字段

对数据进行处理,并重新命名

评论数、人均花费—数字


评论数

人均花费

点评分数—数字


点评分数

商户星级—从代码中提取,并将“””替换为空
商户星级

字段重新命名为
字段命名
第三步:制作行政区(region)与商圈(area)对应表格

根据大众点评上行政区商圈划分,制作表格

商圈-行政区-大众点评
商圈-行政区-表格
第四步:将数据导入mysql数据库

首先,建立数据库及表

建表界面
建表SQL

由于各表结构相同,可直接在SQL语句页面写添加语句

CREATE TABLE `dazhongdianping`.`unite` (
  `idunite` INT NOT NULL,
  `area` VARCHAR(45) NOT NULL,
  `style` VARCHAR(45) NOT NULL,
  `restaurant` VARCHAR(45) NOT NULL,
  `comments` INT NULL,
  `percapita` INT NULL,
  `taste` DECIMAL(2,1) NULL,
  `environment` DECIMAL(2,1) NULL,
  `service` DECIMAL(2,1) NULL,
  `address` VARCHAR(100) NULL,
  `level` VARCHAR(45) NULL,
  `type` VARCHAR(45) NULL,
  PRIMARY KEY (`idunite`));

通过可视化页面导入数据,导入成功

导入成功

至此,数据准备工作完成,后续会通过SQL进行分析

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容