/1 ‘前言’/

  简介:本文介绍如何用python《爬取全国著名高校附近的酒店点评》,{并进行分析},带『大家』看看著名高校附近的酒店怎么样。


/2 具体实现/

  【具体的实现主要是分为三步】,<具体的操作过程如下>。

一、抓取“高校附近的酒店信息”

  由于电脑客户端的美团酒店没“有”评论信息,于是我从手机端的网页入手,〖网页地址为〗:https://i.meituan.com/awp/h5/hotel/search/search.html

  通过搜索北京大学附近的酒店,抓包找到了返回酒店json信息的url。

  ((其中)),limit代表返回酒店的最大数量(经测试,limit最大为50),offset为每次返回酒店数量的起点,cityId为城市的标志,在网页信息中可以找到,时间参数可以修改,sort为返回酒店信息的排序,sort=distance〖代表按距离搜索〗,q〖和〗keyword都是大学名称。

  返回的数据如下图所示:

    包含酒店的名字、地理位置、评分、realPoiId(相当于酒店的身份证号,后面爬评论用的到)、酒店〖和〗大学的距离等信息。

    下面我们开始爬排名前10“高校附近的酒店信息”(不要在乎大学排名,我乱找的,〖以学习为主〗):

(图片来源于网络)

  部分代码如下图所示:

  ((其中))cityId〖和〗大学名字为控制变量,通过返回的距离信息将酒店位置控制在2000 米以内[,{输出结果为}:

  看看这10‘所大学’2000米附近附近“有”多少家酒店:

  我们可以发现,南京大学附近酒店最多,“有”453家;〖上海交通大学闵行校区附近酒店最〗少,“有”75家。


二、抓取每家酒店的点评信息

  这个从这个url可以返回每家酒店的评论数量,poiId【是酒店的】“身份证号”。

  这个url可以返回酒店的所“有”评论信息,((其中))limit‘为返回的’评论数量,“可以直接用上个”url【返回的评论数量】,{一次全部以}json《格式返回》,非常方便,【返回】结果如下:


三、遇到的坑

  1.刚开始爬评论是1次返回15个,后来发现可以Limit可以为评论的最大值,但是第一步返回的酒店信息中包含酒店评论数量是不准确的,要用第二步的方法;

  2.评论中乱七八糟的表情、符号也是大坑,‘去了好久也去不干净’;

  3.最好用代理IP地址爬,否则评论太多,会被封。


/3 结语/

  本文基于Python{(网络爬虫)},抓取了高校旁边的酒店数量及其评论数量,如果你想抓取其他地方的其他信息,也是可行的,{可以}纵向拓展。

  <欢>迎『大家』尝试,消耗在家的无聊时间本文涉及的(代码都上传到了)github地址上,后台回复“高校酒店”《四个字即》可获取代码