1. 程式人生 > >如何爬取美團網美食!

如何爬取美團網美食!

資料爬取三步曲之前方有坑

工作需求需要採集OTA網站的美食資料,某個城市的飯店型別情況等。對於老饕來說這不算個事。。。然而最後的結果是中午晚飯都沒有時間去吃了。。。情況如下

進群:960410445 即可獲取數十套PDF!

如何爬取美團網美食!

 

 

Chrome F12直接定位get請求,response的結果是json,研究下get的引數發現有個奇怪的引數token?!

 

如何爬取美團網美食!

 

 

先不管他直接修改引數翻頁請求資料!!!

 

如何爬取美團網美食!

 

 

資料爬取三步曲之開始填坑

問題來了!糾結半天后發現這個token是有時效的,而且是js生成的。。。這也不是問題,get請求行不通我們還有selenuim。悲催的是美團真的是大廠直接封殺selenuim

 

如何爬取美團網美食!

 

 

資料爬取三步曲之將坑填平

又回到原點。沒辦法只能從token下手了經過一番查詢發現一個js檔案

 

如何爬取美團網美食!

 

 

嗯。。。好吧繼續,因為之前沒有用python直接呼叫js,百度一番發現pyexecjs、PyV8等都可以。悲催的是我的python2.7安裝pyexecjs後一直不能正常使用,PyV8沒有問題。只是PyV8安裝過程太心酸

廢話不多說直接上程式碼:

 

如何爬取美團網美食!

 

 

我把js檔案存放到本地python直接使用PyV8直接解析執行token的js事件

 

如何爬取美團網美食!

 

 

程式自動生成token,迫不及待接續解析json資料入庫

 

如何爬取美團網美食!

 

 

 

如何爬取美團網美食!

 

 

測試完成先抓取北京和上海資料進行資料視覺化

在統計師發現美團還是對資料經行了限制每個型別的餐飲場所最多顯示每頁32個一共32頁。也就是32*32=1024個

 

如何爬取美團網美食!

 

 

資料視覺化

 

北京、上海美食各型別數量佔比情況

 

如何爬取美團網美食!

 

 

如何爬取美團網美食!

 

 

 

 

看以看出川湘、燒烤烤肉和西餐在兩地的數量佔比都是最多的。擼串、麻小果然不分南北。

 

如何爬取美團網美食!

 

 

 

資料中有每家店的品論數量我們可以從中分析出每一類美食的總評論情況來展示受歡迎情況,因展示效果我們只展示top10

北京、上海市top10美食情況

如何爬取美團網美食!

 

 

如何爬取美團網美食!

 

 

 

 

北京和上海兩地火鍋榮登榜首哈

下面我們對比下兩地同類美食的平均價格的情況:

 

如何爬取美團網美食!

 

 

魔都消費水平已經超過帝都啦。。。哈哈哈

以上只是個人簡單分析不代表權威釋出僅供娛樂,歡迎各界朋友交流學習。

好了我的泡麵好了。。。嗯真香!!!