最近有個小夥伴在羣裏問美團數據怎麼獲取,並且她只要火鍋數據,她在上海,只要求抓上海美團火鍋的數據,並且要求也不高,只要100條,想作個簡單的分析,相關的字段以下圖所示。git
乍一看,這個問題還真的是蠻難的,畢竟美團也不是那麼好抓,什麼驗證碼,模擬登錄等一大堆拂面而來,嚇得小夥伴都倒地了。github
經過F12查看,抓包,分析URL,找規律,等等操做。瀏覽器
不過白慌,今天小編給你們介紹一個小技巧,另闢蹊徑去搞定美團的數據,這裏須要用到抓包工具Fiddler。講道理,以前我開始接觸網絡爬蟲的時候也沒有聽過這個東東,後來就慢慢知道了,並且它真的蠻實用的,建議你們都能學會用它。這個工具專門用於抓包,並且其安裝包也很是小,以下圖所示。微信
接下來,咱們開始進行抓取信息。網絡
一、在Fiddler的左側找到meituan網站的連接,以下圖所示。連接的左邊返回的response(響應)的文件類型,能夠看到是JSON文件,爾後雙擊這一行連接。工具
二、此時在右側會顯示下圖的界面,點擊黃色區域內的那串英文「Responsebody is encoded. Click to decode.」意思是response是加密的,點擊此處進行解碼,對返回的網頁進行解碼。學習
三、此時會彈出下圖所示的界面,在WebView中能夠看到返回的數據,與網頁中的內容對應一致。網站
四、不過美團網限制一頁最多顯示32條火鍋信息,以下圖所示。加密
五、若是我想獲取100條信息的話,那得先後找4頁,纔可以知足要求。有沒有辦法讓其一次性多顯示一些數據呢?答案是能夠的,操做方法以下。code
在左側找到對應的美團網連接,而後點擊右鍵一次選擇CopyàJustUrl,以下圖所示。
七、將獲得的URL放到瀏覽器中去進行訪問,以下圖所示。能夠看到limit=32,即表明能夠獲取到32條相關的火鍋信息,而且返回的內容和Fiddler抓包工具返回的信息是一致的。
八、此時,咱們直接在瀏覽器中將limit=32這個參數改成limit=100,也就是說將32更改成100,讓其一次性返回100條火鍋數據,天助我也,居然能夠一次性訪問到,以下圖所示。就這樣,輕輕鬆鬆的拿到了一百條數據。
九、接下來,能夠將瀏覽器返回的數據進行Ctrl+A所有選中,放到一個本地文件中去,存爲txt格式,在sublime中打開,以下圖所示。
十、其實乍一看以爲很亂,其實它就是一個JSON文件,剩下的工做就是對這個JSON文件作字符串的提取,寫個代碼,提取咱們的目標信息,包括店門、星級、評論數、關鍵詞、地址、人均消費等,以下圖所示。
十一、運行程序以後,咱們會獲得一個txt文件,列與列之間以製表符分開,以下圖所示。
十二、在txt文件中看上去非常費勁,將其導入到Excel文件中去,就清晰多了,以下圖所示。接下來就能夠很方便的對數據作分析什麼的了。
1三、至此,抓取美團火鍋數據的簡易方法就介紹到這裏了,但願小夥伴們均可以學會,之後抓取相似的數據就不用找他人幫你寫程序啦~~
1四、關於本文涉及的部分代碼,小編已經上傳到github了,後臺回覆【美團火鍋】四個字便可獲取。
看完本文有收穫?請轉發分享給更多的人
IT共享之家
入羣請在微信後臺回覆【入羣】
想學習更多Python網絡爬蟲與數據挖掘知識,可前往專業網站:pdcfighting.com/