Python3爬取美團(tuán)美食板塊商家數(shù)據(jù)

2018-09-15 15:42 更新
本文轉(zhuǎn)載至知乎ID:Charles(白露未晞)知乎個(gè)人專欄
下載W3Cschool手機(jī)App,0基礎(chǔ)隨時(shí)隨地學(xué)編程>>戳此了解

導(dǎo)語(yǔ)

利用Python簡(jiǎn)單爬取美團(tuán)美食板塊商家數(shù)據(jù)。。。

其實(shí)一開始我是想把美團(tuán)的所有商家信息爬下來的,這樣就可以美其名曰百萬(wàn)數(shù)據(jù)了。。。

然而相信很多爬過美團(tuán)的朋友都發(fā)現(xiàn)了。。。

如果不進(jìn)行一些小操作。。。

爬不了幾頁(yè)代碼就GG了。。。

后來想想我要這么多數(shù)據(jù)也沒什么用。。。

唯一對(duì)我有用的。。。

大概就是美食板塊了。。。

以后用到其他板塊的時(shí)候再另外爬就好了。。。

OK,Let's go!

相關(guān)文件

百度網(wǎng)盤下載鏈接: https://pan.baidu.com/s/19FPe8OFVwVa_LvuHjYnB9w 

密碼: 3pbr

主要思路

目的:

根據(jù)輸入的城市名,爬取該城市美團(tuán)美食板塊所有商家的數(shù)據(jù)。數(shù)據(jù)包括:

店名、評(píng)分、評(píng)論數(shù)量、均價(jià)、地址,

并將這些數(shù)據(jù)存入Excel中。

最后嘗試對(duì)爬取到的數(shù)據(jù)做一個(gè)簡(jiǎn)單的分析。

克服反爬蟲:

爬取每頁(yè)數(shù)據(jù)后,隨機(jī)停止一段時(shí)間后再爬下一頁(yè);

每頁(yè)使用不同的cookie值。

具體原理:

沒用抓包軟件。。。

Chrome打開后看了下xhr。。。

發(fā)現(xiàn)直接有接口可以用。。。

給個(gè)cookie就能返回所需的數(shù)據(jù)了。。。

后來隨便點(diǎn)了幾個(gè)其他板塊的網(wǎng)頁(yè)。。。

發(fā)現(xiàn)也差不多是這個(gè)套路。。。

詳細(xì)的實(shí)現(xiàn)過程見源代碼。

開發(fā)工具

Python版本:3.5.4

相關(guān)模塊:requests模塊;win_unicode_console模塊;openpyxl模塊;以及一些Python自帶的模塊。

環(huán)境搭建

安裝Python并添加到環(huán)境變量,pip安裝需要的相關(guān)模塊即可。

使用演示

在cmd窗口運(yùn)行MT_Cate_Spider.py文件即可。

簡(jiǎn)單分析

其實(shí)在碼字的時(shí)候我臨時(shí)加的這個(gè)部分。。。

原因很簡(jiǎn)單。。。

我想強(qiáng)調(diào)爬蟲和數(shù)據(jù)分析結(jié)合的重要性。。。

數(shù)據(jù)不多,懶得寫代碼分析了。。。

利用Excel的數(shù)據(jù)分析功能簡(jiǎn)單分析一波吧~~~

用的上海地區(qū)的數(shù)據(jù)。

首先當(dāng)然是按照評(píng)分排個(gè)序,然后做成柱狀圖:

然后是評(píng)論數(shù)量排個(gè)序,做成柱狀圖:

然后再做點(diǎn)其他有趣的圖案:

OK,That's all!

更多

如果有需要,我會(huì)寫一個(gè)爬取美團(tuán)所有商家信息的腳本,因?yàn)榫腿缰八f。。。

貌似都有直接可以用的接口。。。

所以還算比較簡(jiǎn)單。。。

只要弄到足夠多的cookie值就好了。。。

當(dāng)然這個(gè)Flag應(yīng)該是要到我實(shí)在沒東西寫或者懶得重新踩點(diǎn)的時(shí)候才會(huì)去實(shí)現(xiàn)了吧。。。

就這樣吧~~~

有興趣的朋友可以試著去抓其他板塊的數(shù)據(jù)。。。

貌似挺easy的。。。

小心別被封了就好了。。。

代碼截止2018-02-25測(cè)試無(wú)誤。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)