中午不知道吃什么?用Python爬取美团外卖评论帮你选餐!

一、介绍

朋友暑假实践需要美团外卖APP评论这一份数据,一开始我想,这不就抓取网页源代码再从中提取数据就可以了吗,结果发现事实并非如此,情况和之前崔大讲过的分析Ajax来抓取今日头条街拍美图类似,都是通过异步加载的方式传输数据,不同的是这次的是通过JS传输,其他的基本思路基本一致,希望那些数据能帮到她吧

二、流程

  • 目标站点分析 用浏览器打开美团外卖APP评论,F12 1.首先我们要找到我们想要的评论数据,在第一次“失败”的直接抓取网页源代码后,我们发现它是通过Ajax加载的,我们点击JS选项,可以发现JS项目里面的返回结果有我们想要的数据,勾选Preserve log,当点击查看更多评论时,后台(JS里)会出现新的Ajax请求,发现还有参数start和的变化,其他请求参数不变,start的参数变化是以10递增的,的参数变化可就让人摸不着头脑(这个时候我们也不要方,因为大多情况下没有规律的参数都是没用的)

2.经过我们对http://comment.mobilem.360.cn/comment/getComments?callback=jQuery17203361018749253357_1503362214558&baike=%E7%BE%8E%E5%9B%A2%E5%A4%96%E5%8D%96+Android_com.sankuai.meituan.takeoutnew&c=message&a=getmessage&start=0&count=10&_=1503362215647进行分析后发现它的标准式为‘http://comment.mobilem.360.cn/comment/getComments?&baike=%E7%BE%8E%E5%9B%A2%E5%A4%96%E5%8D%96+Android_com.sankuai.meituan.takeoutnew&start=’+str(i*10),i每次增加1,就包含新的十条评论的内容,所以我们通过改变i的值就可以拿到不同的数据

  • 分析url的网页源代码,在源代码里有我们想要的评论数据,我们可以用正则(在这里正则还是比较好用的)把我们想要的信息弄下来
  • 开启循环,批量抓取
  • 保存数据至文本和数据库

三、代码

四、最后得到的数据视图和文件

五、总结

1.程序报错很正常,不要一报错就问别人,先自己思考、百度

2.在数据类型处理方面的知识还要加强

3.感谢皮皮哥、感谢姚文峰前辈!

作者:1想得美 链接:http://www.jianshu.com/p/25c8b4cfda1a


原文发布于微信公众号 - 马哥Linux运维(magedu-Linux)

原文发表时间:2017-09-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏钱塘大数据

【干货】python玩转微信:微信好友统计信息全掌握

在过去的几个月中,由于在新生群中回答问题费时费力,同时又有许多重复而又有固定答案的回答,我受到一些知乎文章的启发,维护了一个基于itchat的群聊机器人。从刚开...

61012
来自专栏王清培的专栏

.NET应用架构设计—重新认识分层架构(现代企业级应用分层架构核心设计要素)

阅读目录: 1.背景介绍 2.简要回顾下传统三层架构 3.企业级应用分层架构(现代分层架构的基本演变过程) 3.1.服务层中应用契约式设计来解决动态条件不...

2567
来自专栏Brian

Effective Debugging-高效调试

概述 最近在看《Effective Debugging》,作者(Diomidis Spinellis)将30多年的系统开发和调试的经验融入到书中,从策略、方法以...

3578
来自专栏前端黑板报

搜索技巧

外事不决问谷歌,内事不决还问谷歌。 如何问? 我们的提问如何能被搜索引擎更好的识别或者说如何更准确的得到我们想要的答案,快速解决我们的问题。下面就带来一些搜索的...

1957
来自专栏程序员宝库

后端好书阅读与推荐(续四)

这里依然记录一下每本书的亮点与自己读书心得和体会,分享并求拍砖。 Docker生产环境实践指南 Docker生产环境实践指南 (豆瓣:https://book....

4806
来自专栏用户2442861的专栏

分布式统一框架的设计与实现(数据库)

我们设计并开发了内容中心统一的分布式开发框架。我们把它取名为albian, albian是基于java的(故以下简称albianj)。他主要是面向海量数据处理...

2481
来自专栏Java架构

高并发风控技术解密(下)

1764
来自专栏大数据挖掘DT机器学习

python玩微信:如何获得自己微信的好友统计信息

在过去的几个月中,由于在新生群中回答问题费时费力,同时又有许多重复而又有固定答案的回答,我受到一些知乎文章的启发,维护了一个基于itchat的群聊机器人。从刚开...

43816
来自专栏IT 指南者专栏

「Chrome 插件」低调推荐系列(一)

因为 Chrome 浏览器是目前世界上最强大最好用扩展性最广的浏览器,市场份额长期盘踞第一,如下所示图片是人们曾经用来调侃 IE 浏览器速度的,其实最终目的是不...

2043
来自专栏知晓程序

「大众点评点餐」小程序开发经验 06:解析开发工具

邹弓一,美团点评前端工程师,4年 Web 前端开发经验,现在是美团点评点餐团队的一员。

1193

扫码关注云+社区