python爬取大眾點(diǎn)評某城市美食類數(shù)據(jù)
前言
我一個(gè)朋友是做市場調(diào)查的,前段時(shí)間他想分析一下某個(gè)城市的餐飲或美食市場狀況,找到我讓我?guī)退杉恍┫嚓P(guān)數(shù)據(jù)。經(jīng)過討論我們覺得大眾點(diǎn)評的數(shù)據(jù)挺適合的,大眾點(diǎn)評是一款非常受大眾喜愛的一個(gè)第三方的美食相關(guān)的點(diǎn)評網(wǎng)站,該網(wǎng)站的數(shù)據(jù)也就非常有價(jià)值。優(yōu)惠,評價(jià)數(shù)量,好評度等數(shù)據(jù)也就非常受數(shù)據(jù)公司的歡迎。也記錄一下過程。
1.確定爬取的URL
我們需要的是每一個(gè)美食分類下的每一個(gè)熱門商圈對應(yīng)的數(shù)據(jù),例如下圖茶亭世茂商圈的小吃快餐對應(yīng)的數(shù)據(jù)。

對比發(fā)現(xiàn),每個(gè)分類ID和商圈ID的組合可以確定對應(yīng)的URL的

提取分類ID和商圈ID,得到的URL如下:

2.確定字段
如下這些數(shù)據(jù)是我們需要爬取的

3.分析網(wǎng)頁并解密
大眾點(diǎn)評的數(shù)據(jù)大部分都是有加密的

從右邊的源碼可以看到文字是經(jīng)過加密的,可見的不是結(jié)果和返回的結(jié)果不一樣的,像這些就需要解密。
接下來就是解密
是通過svg加密的。首先是要找到woff字體文件,

下載下來,然后用fontTools庫轉(zhuǎn)為xml文件

可以看到對應(yīng)的關(guān)系了,當(dāng)然這個(gè)映射是經(jīng)常變得,不能對著寫。
接下來就是把加密的內(nèi)容替換為對應(yīng)的數(shù)據(jù)了(關(guān)鍵代碼)

4.成果展示

有問題可以私信咨詢~