由于目前写论文需要爬些旅游景点的数据做数据分析,因此探索了一番评价数据的采集,此处打算把整个过程记录下来。过去我爬取数据的思路都是各种F12然后找http请求,解析数据各种操作,不过发现这个方法用在这里并不太适用,单个平台的反爬就已经很麻烦了,何况是携程、马蜂窝、美团、大众点评整整四个平台,估计等我搞定了,黄花菜也凉了。不过由于之前听过一些自动采集的软件,好像挺强大,于是随便下载了个后羿采集器来准备试试,没想到,这玩意确实好用,没过多久,就把四个平台的数据都爬取下来了。由于我用得不深,不过爬取的数据效果还可以,话不多说,先上效果图吧: 大众点评采集结果

马蜂窝采集结果

当然,有些平台的数据也不够完整,或存在些问题,我会在最后面注明。

先来介绍下后羿采集器吧:(先注明下,并不是说这个采集器就一定是最好的,其他的比如火车头采集器等估计也可以实现,只是我用了这个,觉得用起来比较简单,也能完成采集任务)

后羿采集器

后羿采集器是由前谷歌搜索技术团队基于人工智能技术研发的新一代网页采集软件。具有以下特点; - 自动化采集 - 支持对数据进行清洗、过滤等 - 同时支持Windows、Mac和Linux全操作系统 - 支持智能采集以及流程图采集两种模式,90%多的网页数据都可采集到 - 免费(当然,更强大的功能是收费的,不过普通的采集任务的话免费版就可以搞定了)

官网下载地址:http://houyi.shenjian.io/?bd&utm=search&renqun_youhua=389049

文档中心:http://www.houyicaiji.com/?type=post&pid=2619

具体下载安装步骤参考文档即可。

下面就一一介绍各个平台的旅游评价数据采集过程。

携程

找到需要采集的网页

德天瀑布 这个景点为例,在携程官网首页搜索后便出现了关于该景点的详细介绍,往下拉后可看到最后一个面板为用户点评,就出现了我们需要的评价数据,以分页的列表展示,每页10条,有238页,总的数据条数是2373。

复制该页面的地址:

https://piao.ctrip.com/ticket/dest/t51544.html#ctm_ref=www_hp_his_lst

在这里插入图片描述

配置规则

打开后羿采集器,首页输入上一步中找到的页面地址,点击智能采集,智能采集的意思是采集器会识别你输入的网页结构,并找到列表数据,并自动进行翻页,直到采集到最后一页数据为止。 在这里插入图片描述

然后进入采集界面,采集器会自动在软件中打开你输入的网页,并识别网页结构,找到数据列表。这需要一些时间,耐心等待即可。

不过一开始识别出来后可能是这样的:

在这里插入图片描述

似乎不是我们需要的评价数据啊, 证明自动识别的列表并不是我们想要的,那怎么办呢? 可以这样解决: - 点击识别结果列表上面的页面类型下拉框 - 列表类型修改为手动点选列表,然后鼠标变成了一只可以点击上方页面的笔,用鼠标分别点击评论数据中第一条的评价内容,以及下方的用户名和时间,点击后就下面的结果列表中的数据就会变成我们需要的评价数据啦。如果还需要增加字段,点击工具类最后的添加字段,选择你需要增加的字段即可。 在这里插入图片描述

开始采集任务

到此,我们配置好了需要采集的页面以及数据列表,并且可以在页面下方预览前10条数据,确认无误后,点击开始采集即可启动采集任务。此处可以配置各种选项,比如定时采集,加速、防屏蔽、启用代理等功能,自己按需配置,携程这个不需要任何配置也能采集到数据的。点击开始后,就进入了采集页面

在这里插入图片描述 最后面自动采集完成后,会提示采集完成,将数据导出到本地即可。

由于后续其他平台操作类似,故只会说明下需要注意的地方。

马蜂窝

马蜂窝页面显示的数据其实是不完整的,如下图所示: 在这里插入图片描述 每页是15条,总的只能看到5页,总的75条,但其实总的是333条,因此,不管显示多少评论,采集的结果最终只是75条。

美团

和携程差不多,页面列表可以自动识别。

大众点评

大众点评稍微有点特殊,查看评价时候可以看到,需要登录后才能看到所有的评价。 在这里插入图片描述

因此,在后羿采集器中需要解决的一个问题就是登录后才能拿到数据,那具体应该怎么操作呢?

在采集页面上面,有个预登陆功能在这里插入图片描述

在弹出的页面上,进行登录后,点击登录完成,即可。 不过需要注意的是每页数据的url都是不同的,比如:首页http://www.dianping.com/shop/3328354/review_all,第二页: http://www.dianping.com/shop/3328354/review_all/p2,那这种url怎么办呢?

可以看到,各个页面的前缀都是一样的,只是最后p2,p3数字不同而已,采集器提供了一种针对这种有规律的url生成器,详见下图,在参数那里填入开始的页面和结束的页面数字即可生成,复制网址预览中的url到手动输入栏中,并进行一定的修改即可。 在这里插入图片描述

总结

其实从过程来说,还是挺简单的,只是可能一些配置规则、预登陆这种得多弄几次才会熟悉。大多数只要能在网页上看到的数据,都是可以通过采集器采集到的,当然,还有很多高级复杂的东西此处并没有涉及到,后续遇到的话再去研究研究。

存在问题

由于采集器以及各个平台的差异性,采集到的数据难免存在些问题,这里仅记录我观察到的比较明显的问题:

1. 马蜂窝的数据不管评价数量多少,最终采集到的最多75条(网页上也只显示这么多)
2. 美团上采集到的评价内容有些是空的,不知道啥问题,目前还没搞清楚
3. 大众点评的评价数据有些是需要手动点击展开评论才能看到完整内容的,因此采集结果有些并不完整。
4. 目前来看,携程的评论数据是比较完整的。

原创文章,转载请注明出处:http://www.loveyuanwei.com/article/tripcpmment/