Python爬蟲&視覺化-舌尖上的“小龍蝦”
點選上方“程式人生”,選擇“置頂公眾號”
第一時間關注程式猿(媛)身邊的故事
作者
資料森麟
如需轉載,請聯絡原作者授權。
前言:
上期與大家分享了一些旅遊的內容,本期則分享一些為吃貨們量身定製的文章,大家的好麗友——小龍蝦。
PART1:獲得資料
本次資料我們爬取了大眾點評中所有打上小龍蝦標籤的餐廳
從上圖中可以看出,我們可以獲得餐廳的人均消費、點評數量、推薦菜、評分(口味、環境、服務)等資訊,用於我們之後的分析。我們此次總共爬取到了225個城市,6758個餐廳,121.3萬條評論。
我們擷取其中的部分核心程式碼:
def find_city_page(path):
data = pd.read_excel
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
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中的蛋黃,白灼對於作者而言相對陌生,有品嚐過的朋友可以分享一些這些口味的體驗。
看完了口味,再看一下龍蝦的好麗友
部分詞雲繪製程式碼如下:
# 解析小龍蝦圖片
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)龍蝦
文章最後我們放上幾個之前分詞發現的特色口味龍蝦,或許下一個網紅龍蝦就在其中
如果大家周圍有對資料分析&資料探勘感興趣的朋友,可以直接在公眾號或者文章下方留言。
- The End -
「若你有原創文章想與大家分享,歡迎投稿。」
加編輯微信ID,備註#投稿#:
程式 丨 druidlost
小七 丨 duoshangshuang
上期精彩內容
相關推薦
Python爬蟲&視覺化-舌尖上的“小龍蝦”
點選上方“程式人生”,選擇“置頂公眾號”第一時間關注程式猿(媛)身邊的故事作者資料森麟如需轉載,
[原始碼和文件分享]基於python的B站彈幕資料分析(爬蟲+視覺化)
python—B站彈幕資料分析 1 背景 在視訊網站上,一邊看視訊一邊發彈幕已經是網友的習慣。B站就是其中一個比較出名的彈幕網站,許多年輕人都喜歡逛B站,看喜歡的動漫亦或某些UP主做的一些剪輯。本專案,就是對B站彈幕資料進行分析。選取分析的物件是B站上一部國漫《全職高手》。 2 環境的安
Python爬蟲入門 | 5 爬取小豬短租租房信息
圖片 交流 ffffff 信息 jpg http 而已 基本 mat 小豬短租是一個租房網站,上面有很多優質的民宿出租信息,下面我們以成都地區的租房信息為例,來嘗試爬取這些數據。 小豬短租(成都)頁面:http://cd.xiaozhu.com/1.爬取租房標題 按照慣例,
python plt視覺化——列印特殊符號和製作圖例
1、列印特殊符號 matplotlib在公式書寫上面跟latex很相似,接下來我們就特殊符號,上標下標來具體展示一下。 import matplotlib.pyplot as plt x = [i+1 for i in range(20)] y = x plt.figure() p
給Python爬蟲做一個介面.上
<p>做爬蟲做了那麼久,開始逐漸不滿足寫好程式,每次只能完成一件事情。開始思考如何可以做一個簡單介面互動,再增加爬蟲的可操作室,做互動介面有兩個思路:</p> 用Django做一個web介面; 用PyQt做一個exe程式介面; <p>事實上
Python資料視覺化之密度圖的繪製
密度圖表現與資料值對應的邊界或域物件的一種理論圖形表示方法。一般用於呈現連續變數。 *摘自百度百科* 在電腦科學當中,資料的視覺化常常被提起。近日,在影象處理當中,需要統計圖片中的人流密度並繪製相應密度圖,於是小小研究一番。效果如下: 所有程式碼儲存在Github上。 首
python --資料視覺化
python --資料視覺化 一、python -- pyecharts庫的使用 pyecharts--> 生成Echarts圖示的類庫 1、安裝: pip install pyecharts pip install pyecharts_snapshot &nbs
python --資料視覺化(二)
一、NumPy 1、簡介: 官網連結:http://www.numpy.org/ NumPy是Python語言的一個擴充程式庫。支援高階大量的維度陣列與矩陣運算,此外也針對陣列運算提供大量的數學函式庫 2、基本功能: 快速高效的多維陣列物件ndarray 用於對陣列執行元素級計算以及直
Python資料視覺化的四種簡易方法
摘要: 本文講述了熱圖、二維密度圖、蜘蛛圖、樹形圖這四種Python資料視覺化方法。 資料視覺化是任何資料科學或機器學習專案的一個重要組成部分。人們常常會從探索資料分析(EDA)開始,來深入瞭解資料,並且建立視覺化確實有助於讓問題更清晰和更容易理解,尤其是對於那些較大的高維度資料集。在專
Python資料視覺化:2018年電影分析
本文轉載自:http://gkhelp.cn/1217.html 雙11已經過去,雙12即將來臨,離2018年的結束也就2個月不到,還記得年初立下的flag嗎? 完成了多少?相信很多人和我一樣,抱頭痛哭... 本次利用貓眼電影,實現對2018年的電影大資料進行分析。 網頁分
python資料視覺化入門2
使用scatter()方法繪製散點圖 import matplotlib.pyplot as plt # 繪製一系列點 x_value = [1, 2, 3, 4, 5] y_value = [1, 4, 9, 16, 25] plt.scatter(x_value. y_value,
python資料視覺化入門
一、繪製一個簡單的折線圖 import matplotlib.pyplot as plt # 提供一些輸入值 也可以隨意輸入一些數字 intput_values = [1, 2, 3, 4, 5] squares = [1, 4, 9, 16, 25] #輸入值的平方值 plt.plo
吳裕雄 資料探勘與分析案例實戰(5)——python資料視覺化
# 餅圖的繪製# 匯入第三方模組import matplotlibimport matplotlib.pyplot as plt plt.rcParams['font.sans-serif']=['Simhei']plt.rcParams['axes.unicode_minus']=Falseziti =
Python爬蟲系列之微信小程式實戰
Python爬蟲系列之微信小程式實戰 基於Scrapy爬蟲框架實現對微信小程式資料的爬取 首先,你得需要安裝抓包工具,這裡推薦使用Charles,至於怎麼使用後期有時間我會出一個事例 最重要的步驟之一就是分析介面,理清楚每一個介面功能,然後連線起來形成介面串思路,再通
4種更快更簡單實現Python資料視覺化的方法
選自towardsdatascience,作者:George Seif,機器之心編譯,參與:Geek AI、劉曉坤。 熱力圖、二維密度圖、蜘蛛網圖和樹狀圖,這些視覺化方法你都用過嗎? 資料視覺化是資料科學或機器學習專案中十分重要的一環。通常,你需要在專案初期進行探索性的資料分析(EDA),從而對資
python資料視覺化利器--pyecharts
學視覺化就跟學彈吉他一樣,剛開始你會覺得自己彈出來的是噪音,也就有了在使用python視覺化的時候,總說,我擦,為啥別人畫的圖那麼溜: 【python視覺化系列】python資料視覺化利器--pyecharts echarts官網 一、前言 echarts是什麼?下面是來自官方的介紹
python資料視覺化
使用scatter()繪製一系列點 import matplotlib.pyplot as plt x_values = [1, 2, 3, 4, 5] y_values = [1, 4, 9, 16, 25] plt.scatter(x_values, y_values
python資料視覺化學習-直方圖
import numpy as np import matplotlib.pyplot as plt mu = 1000 sigma = 10 x = mu + sigma*np.random.rand
吳裕雄 python 資料視覺化
import pandas as pd df = pd.read_csv("F:\\python3_pachongAndDatareduce\\data\\pandas data\\taobao_data.csv")print(df.head())data = df.drop(["寶貝","賣家"],axi
【資料科學】Python資料視覺化概述
注:很早之前就打算專門寫一篇與Python資料視覺化相關的部落格,對一些基本概念和常用技巧做一個小結。今天終於有時間來完成這個計劃了! 0. Python中常用的視覺化工具 Python在資料科學中的地位,不僅僅是因為numpy, scipy, pandas, scikit-learn這些高效易用