1. 程式人生 > >Python爬蟲&視覺化-舌尖上的“小龍蝦”

Python爬蟲&視覺化-舌尖上的“小龍蝦”

點選上方“程式人生”,選擇“置頂公眾號”

第一時間關注程式猿(媛)身邊的故事

640?wx_fmt=jpeg

作者

資料森麟

如需轉載,請聯絡原作者授權。

前言:

上期與大家分享了一些旅遊的內容,本期則分享一些為吃貨量身定製的文章,大家的好麗友——小龍蝦

PART1:獲得資料

本次資料我們爬取了大眾點評中所有打上小龍蝦標籤的餐廳

640?wx_fmt=png

從上圖中可以看出,我們可以獲得餐廳的人均消費、點評數量、推薦菜、評分(口味、環境、服務)等資訊,用於我們之後的分析。我們此次總共爬取到了225個城市,6758個餐廳,121.3萬條評論。

我們擷取其中的部分核心程式碼:

  1. def find_city_page(path):

  2.    data = pd.read_excel

    (path)

  3.    city_lobster_page = pd.DataFrame()

  4.    driver = webdriver.Chrome()

  5.    for i in range(0,len(data)):

  6. try:

  7.            js='window.open("'+data['city_lobster_url'][i]+'")'

  8.            driver.execute_script(js)

  9.            bsObj =BeautifulSoup(driver.page_source,'html.parser')

  10.            bs = bsObj.find_all

    ('a',attrs={'class':'PageLink'})

  11.            this_city_lobster={'city_name':data['city_name'][i],

  12. 'page_num':max([int(l.text )for l in bs])}

  13.            city_lobster_page = city_lobster_page.append(this_city_lobster,ignore_index=True)

  14. except:

  15. continue

  16. return city_lobster_page

PART2: 城市對比

我們首先要進行分析的是各個城市的小龍蝦熱度,我們以帶有“小龍蝦”標籤的餐廳評論總和作為最終的對比依據,得到的TOP20

城市如下:

640?wx_fmt=png

可以看出上海市的點評數遙遙領先,可能存在以下兩個因素:a.上海市的小龍蝦餐廳數量較多,本身存在較大的消費群體 b.大眾點評總部在上海,上海的商戶入駐數量較多。有興趣的朋友可以進行更深一步的研究。

圈定了TOP20城市後,我們首先看一下TOP20城市小龍蝦的人均消費

640?wx_fmt=png

該項統計中,包郵區佔據了靠前的位置,體現出來包郵區對小龍蝦的熱情和自身的消費水平。同時可以看到株洲的人均消費接近於上海的一半,有機會到湖南旅遊的朋友可以考慮到株洲品嚐物美價廉的小龍蝦。

緊接著要看的是TOP20城市味道、環境、服務三部分的分數情況:

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

我們發現服務分與環境分排序相同,二者具有極強的相關性,符合通常認知。同時可以看到在三項分數中,北方的四個城市天津、西安、北京、青島各項指標均處於靠前的位置,其中天津的服務和環境均處於首位。

結合下圖全國小龍蝦熱力圖,似乎有些有悖於大家的認知。

640?wx_fmt=png

由此我們可以得出在小龍蝦整體熱度比較強的區域,人們對於小龍蝦各方面的要求會相應提高,相反在整體熱度偏低區域,人們評價時會相對寬容。同時我們看到海口的各項指標均處於最後一位,需要進行相應的調整。

PART3: 探索龍蝦

我們看過了各個城市的情況後,進一步看一下小龍蝦本身的一些有趣的內容,首先看一下龍蝦的口味,我們選取了各個餐廳中帶有龍蝦的推薦菜,分詞後獲得TOP20的口味

640?wx_fmt=png

十三香、蒜蓉、麻辣高居前三位,根據作者的經驗,這基本上是符合大家整體口味的選擇。TOP20中的蛋黃,白灼對於作者而言相對陌生,有品嚐過的朋友可以分享一些這些口味的體驗。

看完了口味,再看一下龍蝦的好麗友

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=jpeg

部分詞雲繪製程式碼如下:

  1. # 解析小龍蝦圖片

  2. back_color = imread('小龍蝦.jpg')# 解析該圖片

  3. # 引數配置

  4. wc =WordCloud(background_color='white',# 背景顏色

  5.               max_words=300,# 最大詞數

  6.               mask=back_color,# 以該引數值作圖繪製詞雲,這個引數不為空時,width和height會被忽略

  7.               max_font_size=100,# 顯示字型的最大值

  8.               font_path="C:/Windows/Fonts/simhei.ttf",# 解決顯示口字型亂碼問題,可進入C:/Windows/Fonts/目錄更換字型

  9.               random_state=4,# 為每個詞返回一個PIL顏色

  10. #width=2000,  # 圖片的寬

  11. #height=1860  #圖片的長

  12. )

  13. # 通過encounter計數器生成詞雲

  14. wc.generate_from_frequencies(word_counts)

  15. # 基於彩色影象生成相應彩色

  16. image_colors =ImageColorGenerator(back_color)

  17. # 繪製詞雲

  18. plt.figure()

  19. plt.imshow(wc.recolor(color_func=image_colors))

  20. plt.axis('off')

PART5: 特(hei)色(an)龍蝦

文章最後我們放上幾個之前分詞發現的特色口味龍蝦,或許下一個網紅龍蝦就在其中

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

如果大家周圍有對資料分析&資料探勘感興趣的朋友,可以直接在公眾號或者文章下方留言

- The End -

「若你有原創文章想與大家分享,歡迎投稿。」

加編輯微信ID,備註#投稿#:

程式 丨 druidlost  

小七 丨 duoshangshuang

上期精彩內容

640?wx_fmt=jpeg

640?wx_fmt=gif

相關推薦

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這些高效易用