后期經(jīng)sql統(tǒng)計,發(fā)現(xiàn)數(shù)據(jù)有誤,此次數(shù)據(jù)抓取所得作廢
舉例:
通過以下語句,進行select,得到如下結(jié)果
select area,style,count(style) from unite
group by style
order by count(style) desc;

unite select
同樣根據(jù)area對火鍋(hotpot)數(shù)據(jù)進行group by,得到如下結(jié)果

hotpot select
unite 750條數(shù)據(jù)中三元橋有106家火鍋,但hotpot 750條數(shù)據(jù)中三里屯有698家火鍋,三元橋無火鍋,說明數(shù)據(jù)量選取范圍太小,具有偶然性,需重新抓取
第一步:通過爬蟲軟件爬取大眾點評美食頁面店家數(shù)據(jù),由于點評只顯示50頁,每頁25條,共得到數(shù)據(jù)750條
爬取頁面地址:https://www.dianping.com/search/category/2/10
補充:將整體數(shù)據(jù)爬取下來后,發(fā)現(xiàn)以下幾個菜系數(shù)據(jù)較多,因此單獨爬取了單獨菜系的數(shù)據(jù):火鍋、日本菜、川菜、西餐、燒烤、北京菜、韓國料理

一級頁面
一級頁面字段有限,我對二級頁面進行了爬取,共選取了以下幾個字段

二級頁面
其中紅框所示字段為選取標簽內(nèi)容,箭頭所指星標則選取整個標簽內(nèi)容,以便獲取鼠標懸停時顯示內(nèi)容

源代碼

鼠標懸停星級
第二步:進行數(shù)據(jù)爬取后,得到如下數(shù)據(jù)

元數(shù)據(jù)字段
對數(shù)據(jù)進行處理,并重新命名
評論數(shù)、人均花費—數(shù)字

評論數(shù)

人均花費
點評分數(shù)—數(shù)字

點評分數(shù)
商戶星級—從代碼中提取,并將“””替換為空

商戶星級
字段重新命名為

字段命名
第三步:制作行政區(qū)(region)與商圈(area)對應表格
根據(jù)大眾點評上行政區(qū)商圈劃分,制作表格

商圈-行政區(qū)-大眾點評

商圈-行政區(qū)-表格
第四步:將數(shù)據(jù)導入mysql數(shù)據(jù)庫
首先,建立數(shù)據(jù)庫及表

建表界面

建表SQL
由于各表結(jié)構(gòu)相同,可直接在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`));
通過可視化頁面導入數(shù)據(jù),導入成功

導入成功
至此,數(shù)據(jù)準備工作完成,后續(xù)會通過SQL進行分析