python爬取大众点评某城市美食类数据

前言

我一个朋友是做市场调查的,前段时间他想分析一下某个城市的餐饮或美食市场状况,找到我让我帮他采集一些相关数据。经过讨论我们觉得大众点评的数据挺适合的,大众点评是一款非常受大众喜爱的一个第三方的美食相关的点评网站,该网站的数据也就非常有价值。优惠,评价数量,好评度等数据也就非常受数据公司的欢迎。也记录一下过程。

1.确定爬取的URL

我们需要的是每一个美食分类下的每一个热门商圈对应的数据,例如下图茶亭世茂商圈的小吃快餐对应的数据。
分类和商圈样例.png
对比发现,每个分类ID和商圈ID的组合可以确定对应的URL的
URL组合样例.png
提取分类ID和商圈ID,得到的URL如下:
确定的URL.png

2.确定字段

如下这些数据是我们需要爬取的
需要爬取字段.png

3.解密及分析网页

大众点评的数据大部分都是有加密的
被加密.png
从右边的源码可以看到文字是经过加密的,可见的不是结果和返回的结果不一样的,想这些就需要解密。

接下来就是解密
是通过svg加密的。首先是要找到woff字体文件,
woff字体文件
下载下来,然后用fontTools库转为xml文件
from fontTools.ttLib import TTFont
def get_xml(self):
font = TTFont(‘dzdp.woff’)
font.saveXML(‘dzdp.xml’)

image.png
可以看到对应的关系了,当然这个映射是经常变得,不能对着写。
接下来就是把加密的内容替换为对应的数据了(关键代码)
image.png

4.成果展示

image.png

  • 5
    点赞
  • 65
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值