最近有朋友在群里问如何获取美团火锅数据,她只需要火锅数据,她在上海,只想抓取上海美团火锅数据,并且要求不高,只需要100条。如果想做简单的分析,相关字段如下图所示。乍一看,这道题真的挺难的。毕竟,美团并不是那么好把握的。一大堆验证码、模拟登录等等,小伙伴们吓得趴在地上。使用F12可以查看、捕获数据包、分析URL、查找模式等。但是徒劳无功,今天给大家介绍一个小技巧,另辟蹊径获取美团数据。这里需要用到抓包工具Fiddler。说句公道话,刚开始接触网络爬虫的时候没听说过这玩意儿,后来慢慢知道了,确实挺实用的。我建议每个人都可以学习使用它。这个工具是专门用来抓包的,安装包也很小,如下图。![]()接下来,我们开始获取信息。1、在Fiddler左侧找到美团网站的链接,如下图。链接左侧返回的response(响应)的文件类型可以看成是JSON文件,然后双击这一行链接。2、此时右侧会出现如下图所示的界面。点击英文字符串“Responsebodyisencoded.Clicktodecode.”在黄色区域,这意味着响应是加密的。点击这里对返回的网页进行解码解码。解码。3、此时会弹出下图所示的界面,在WebView中可以看到返回的数据,与网页中的内容一致。![]()4.但是美团网限制了一个页面最多显示32条火锅信息,如下图。5.如果我要得到100条信息,我要找到前后4页才能满足要求。有没有办法让它一次显示更多的数据?答案是肯定的,操作方法如下。在左侧找到对应的美团链接,然后右击一次,选择CopyàJustUrl,如下图。7、将获取到的URL放入浏览器访问,如下图。可以看到limit=32,表示可以获取到32条火锅相关信息,返回内容与Fiddler抓包工具返回的信息一致。![]()8。此时我们在浏览器中直接将参数limit=32改为limit=100,也就是将32改为100,让它一次性返回100条火锅数据。求大神帮忙,一下子就可以访问了,如下图。这样一来,一百份数据就轻松搞定了。![]()9。接下来可以按Ctrl+A全选浏览器返回的数据,放到本地文件中,保存为txt格式,用sublime打开,如下图。10.其实乍一看很乱。其实就是一个JSON文件。剩下的工作就是从这个JSON文件中提取字符串,编写代码,提取我们的目标信息,包括店门、星级和评论。数量、关键词、地址、人均消费等,如下图所示。11、运行程序后,我们会得到一个txt文件,列之间用制表符分隔,如下图所示。12、在txt文件里看起来很费力,但是导入到Excel文件里会清晰很多,如下图。然后就可以很方便的分析数据什么的了。13、至此,简单的抓取美团火锅数据的方法就介绍到这里了。希望大家都能学会。以后抓取类似的数据就不用请别人给你写程序了~~14.关于本文涉及的话题部分代码,小编已经上传到github,后台回复【美团火锅】四个字即可获取。看完这篇文章你有收获吗?请转发分享给更多的人加入IT分享之家群,请在微信后台回复【进群】如果想深入了解Python网络爬虫和数据挖掘,可以上专业网站:http://pdcfighting.com/
