前言
我一个朋友是做市场调查的,前段时间他想分析一下某个城市的餐饮或美食市场状况,找到我让我帮他采集一些相关数据。经过讨论我们觉得大众点评的数据挺适合的,大众点评是一款非常受大众喜爱的一个第三方的美食相关的点评网站,该网站的数据也就非常有价值。优惠,评价数量,好评度等数据也就非常受数据公司的欢迎。也记录一下过程。
1.确定爬取的URL
我们需要的是每一个美食分类下的每一个热门商圈对应的数据,例如下图茶亭世茂商圈的小吃快餐对应的数据。
对比发现,每个分类ID和商圈ID的组合可以确定对应的URL的
提取分类ID和商圈ID,得到的URL如下:
2.确定字段
如下这些数据是我们需要爬取的
3.解密及分析网页
大众点评的数据大部分都是有加密的
从右边的源码可以看到文字是经过加密的,可见的不是结果和返回的结果不一样的,想这些就需要解密。
接下来就是解密
是通过svg加密的。首先是要找到woff字体文件,
下载下来,然后用fontTools库转为xml文件
from fontTools.ttLib import TTFont
def get_xml(self):
font = TTFont(‘dzdp.woff’)
font.saveXML(‘dzdp.xml’)
可以看到对应的关系了,当然这个映射是经常变得,不能对着写。
接下来就是把加密的内容替换为对应的数据了(关键代码)