后期经sql统计,发现数据有误,此次数据抓取所得作废
举例:
通过以下语句,进行select,得到如下结果
select area,style,count(style) from unite
group by style
order by count(style) desc;
同样根据area对火锅(hotpot)数据进行group by,得到如下结果
unite 750条数据中三元桥有106家火锅,但hotpot 750条数据中三里屯有698家火锅,三元桥无火锅,说明数据量选取范围太小,具有偶然性,需重新抓取
第一步:通过爬虫软件爬取大众点评美食页面店家数据,由于点评只显示50页,每页25条,共得到数据750条
爬取页面地址:https://www.dianping.com/search/category/2/10
补充:将整体数据爬取下来后,发现以下几个菜系数据较多,因此单独爬取了单独菜系的数据:火锅、日本菜、川菜、西餐、烧烤、北京菜、韩国料理
一级页面字段有限,我对二级页面进行了爬取,共选取了以下几个字段
其中红框所示字段为选取标签内容,箭头所指星标则选取整个标签内容,以便获取鼠标悬停时显示内容
第二步:进行数据爬取后,得到如下数据
对数据进行处理,并重新命名
评论数、人均花费—数字
点评分数—数字
商户星级—从代码中提取,并将“””替换为空
字段重新命名为
第三步:制作行政区(region)与商圈(area)对应表格
根据大众点评上行政区商圈划分,制作表格
第四步:将数据导入mysql数据库
首先,建立数据库及表
由于各表结构相同,可直接在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进行分析