今天 我們來聊一聊小龍蝦!
PART1:獲得數據
本次數據我們爬取了大眾點評中所有打上小龍蝦標籤的餐廳
從上圖中可以看出,我們可以獲得餐廳的人均消費、點評數量、推薦菜、評分(口味、環境、服務)等信息,用於我們之後的分析。我們此次總共爬取到了225個城市,6758個餐廳,121.3萬條評論。
我們截取其中的部分核心代碼:
- def
- find_city_page
- (
- path
- ):
- data
- =
- pd
- .
- read_excel
- (
- path
- )
- city_lobster_page
- =
- pd
- .
- DataFrame
- ()
- driver
- =
- webdriver
- .
- Chrome
- ()
- for
- i
- in
- range
- (
- 0
- ,
- len
- (
- data
- )):
- try
- :
- js
- =
- 'window.open("'
- +
- data
- [
- 'city_lobster_url'
- ][
- i
- ]+
- '")'
- driver
- .
- execute_script
- (
- js
- )
- bsObj
- =
- BeautifulSoup
- (
- driver
- .
- page_source
- ,
- 'html.parser'
- )
- bs
- =
- bsObj
- .
- find_all
- (
- 'a'
- ,
- attrs
- ={
- 'class'
- :
- 'PageLink'
- })
- this_city_lobster
- ={
- 'city_name'
- :
- data
- [
- 'city_name'
- ][
- i
- ],
- 'page_num'
- :
- max
- ([
- int
- (
- l
- .
- text
- )
- for
- l
- in
- bs
- ])}
- city_lobster_page
- =
- city_lobster_page
- .
- append
- (
- this_city_lobster
- ,
- ignore_index
- =
- True
- )
- except
- :
- continue
- return
- city_lobster_page
PART2: 城市對比
我們首先要進行分析的是各個城市的小龍蝦熱度,我們以帶有“小龍蝦”標籤的餐廳評論總和作為最終的對比依據,得到的TOP20城市如下:
可以看出上海市的點評數遙遙領先,可能存在以下兩個因素:a.上海市的小龍蝦餐廳數量較多,本身存在較大的消費群體 b.大眾點評總部在上海,上海的商戶入駐數量較多。有興趣的朋友可以進行更深一步的研究。
圈定了TOP20城市後,我們首先看一下TOP20城市小龍蝦的人均消費
該項統計中,包郵區佔據了靠前的位置,體現出來包郵區對小龍蝦的熱情和自身的消費水平。同時可以看到株洲的人均消費接近於上海的一半,有機會到湖南旅遊的朋友可以考慮到株洲品嚐物美價廉的小龍蝦。
緊接著要看的是TOP20城市味道、環境、服務三部分的分數情況:
我們發現服務分與環境分排序相同,二者具有極強的相關性,符合通常認知。同時可以看到在三項分數中,北方的四個城市天津、西安、北京、青島各項指標均處於靠前的位置,其中天津的服務和環境均處於首位。
結合下圖全國小龍蝦熱力圖,似乎有些有悖於大家的認知。
由此我們可以得出在小龍蝦整體熱度比較強的區域,人們對於小龍蝦各方面的要求會相應提高,相反在整體熱度偏低區域,人們評價時會相對寬容。同時我們看到海口的各項指標均處於最後一位,需要進行相應的調整。
PART3: 探索龍蝦
我們看過了各個城市的情況後,進一步看一下小龍蝦本身的一些有趣的內容,首先看一下龍蝦的口味,我們選取了各個餐廳中帶有龍蝦的推薦菜,分詞後獲得TOP20的口味
十三香、蒜蓉、麻辣高居前三位,根據作者的經驗,這基本上是符合大家整體口味的選擇。TOP20中的蛋黃,白灼對於作者而言相對陌生,有品嚐過的朋友可以分享一些這些口味的體驗。
看完了口味,再看一下龍蝦的好麗友
螺絲、花甲、毛豆位高居TOP3,看來大家吃龍蝦的時候,會希望同時選擇一些不用摘手套就可以享用的食物,畢竟吃的過程中頻繁摘手套會比較費勁。
PART4: 龍蝦畫像
目前互聯網公司中非常普遍地會進行一些人群畫像的分析,我們在這裡借用一下這個概念,也為小龍蝦繪製一副專屬的畫像,下面展示的兩幅圖分別是詞雲圖和模板原圖
部分詞雲繪製代碼如下:
- # 解析小龍蝦圖片
- back_color
- =
- imread
- (
- '小龍蝦.jpg'
- )
- # 解析該圖片
- # 參數配置
- wc
- =
- WordCloud
- (
- background_color
- =
- 'white'
- ,
- # 背景顏色
- max_words
- =
- 300
- ,
- # 最大詞數
- mask
- =
- back_color
- ,
- # 以該參數值作圖繪製詞雲,這個參數不為空時,width和height會被忽略
- max_font_size
- =
- 100
- ,
- # 顯示字體的最大值
- font_path
- =
- "C:/Windows/Fonts/simhei.ttf"
- ,
- # 解決顯示口字型亂碼問題,可進入C:/Windows/Fonts/目錄更換字體
- random_state
- =
- 4
- ,
- # 為每個詞返回一個PIL顏色
- #width=2000, # 圖片的寬
- #height=1860 #圖片的長
- )
- # 通過encounter計數器生成詞雲
- wc
- .
- generate_from_frequencies
- (
- word_counts
- )
- # 基於彩色圖像生成相應彩色
- image_colors
- =
- ImageColorGenerator
- (
- back_color
- )
- # 繪製詞雲
- plt
- .
- figure
- ()
- plt
- .
- imshow
- (
- wc
- .
- recolor
- (
- color_func
- =
- image_colors
- ))
- plt
- .
- axis
- (
- 'off'
- )
PART5: 特(hei)色(an)龍蝦
文章最後我們放上幾個之前分詞發現的特色口味龍蝦,或許下一個網紅龍蝦就在其中
---------------------------------
想從事AI行業,想快速通過學習AI取得高薪?
其實並不複雜,
只需關注小碼聰聰,回覆AI
即可領取你的專屬秘籍
閱讀更多 小碼聰聰 的文章