Python3 爬取携程网[2]: 爬取北京五星级酒店详细信息

目录

1. 需求分析

2. 实验环境

3. 具体实现

3.1 分析页面

3.2 请求

3.3 响应

3.3.1 BeautifulSoup提取标签信息

3.3.2 正则表达式提取字符串信息

3.3.3 整合为Pandas.DataFrame对象

4. 完整代码

4.1 完整代码实现

4.2 运行结果展示

5. 总结

 

1. 需求分析

        在爬取携程网[1]这篇文章中,本人讲述了爬取北京五星级酒店列表的方法。在本文中,将根据上文爬取的酒店列表,爬取各酒店的具体房型、价格、入住人数、床型大小等信息。

 

2. 实验环境

  • 语言:Python 3.7
  • 操作系统:MacOS
  • 编程IDE:Pycharm
  • 浏览器:Chrome

 

3. 具体实现

3.1 分析页面

1. 打开携程网

    填写目的地北京、入住日期、退房日期,勾选五星级酒店,并按好评优先顺序排列,就可以呈现北京五星级酒店列表。分析页面工作以排名第一的“北京朝林松源酒店”为例,进行讲解。

《Python3 爬取携程网[2]: 爬取北京五星级酒店详细信息》

                                                                                图1 北京五星级酒店列表

2. 分析酒店详情

我们想要爬取的是“房型列表”这一信息,如图2所示。

《Python3 爬取携程网[2]: 爬取北京五星级酒店详细信息》

                                                                   图2 北京朝林松源酒店房型列表

爬取房型名称、床型、最低价、入住人数、房间详情等具体信息,然后用Pandas.DataFrame进行展示。

通过文章[1],我们知道,想要获取房型列表,需要寻找其网络接口。通过Chrome浏览器的“检查”中的“网络”,找到其网络接口,“html”中就包含房型列表等我们需要的信息。

《Python3 爬取携程网[2]: 爬取北京五星级酒店详细信息》

                                                                                     图3 寻找房型列表接口

 

3.2 请求

通过找到的房型列表接口,我们只要请求其接口,解析返回的响应就可以获取需要的信息。从请求头可看出,请求的URL如图4所示:

《Python3 爬取携程网[2]: 爬取北京五星级酒店详细信息》

                                                                                           图4 请求URL

这里简单补充一下URL的知识。URL中文名为统一资源定位符,它代表着互联网上标准资源的地址,具有唯一性。URL结构如图5所示:

《Python3 爬取携程网[2]: 爬取北京五星级酒店详细信息》

                                                                                      图5 URL结构示意图

图5展示了2种URL。从上往下看:

  • 第1个是由域名构成的URL。Http为协议,www.google.com.sg为主机名,google.com.sg为主域名,com.sg为顶级根域名。现在全球也只有13台顶级Ipv4根服务器。webhp?hl=zh-CN为路径。
  • 第2个是由IP地址构成的URL。Http为协议,IP地址为218.253.0.77,路径为webhp?hl=zh-CN。

通过结合URL的基础知识,分析图4中的请求URL,它主要由2部分构成:

  • 基础URL:http://hotels.ctrip.com/Domestic/tool/AjaxHote1RoomListForDetai1.aspx?
  • 详细参数:
psid=&MasterHotelID=6147365&hotel=6147365&EDM=F&roomId=&IncludeRoom=&city=1&showspothotel=T&supplier=&IsDecoupleSpotHotelAndGroup=F&contrast=0&brand=0&startDate=2019-02-20&depDate=2019-02-21&IsFlash=F&RequestTravelMoney=F&hsids=&IsJustConfirm=&contyped=0&priceInfo=-1&equip=&filter=&productcode=&couponList=&abForHuaZhu=&defaultLoad=T&esfiltertag=&estagid=&Currency=RMB&Exchange=1&TmFromList=F&RoomGuestCount=1,2,0&eleven=74e43c2ed5552ed943cecfc190d7549951e0bbc26ea40dd35df2ef09f8ac8594&callback=CASEKPmcyrLOcqpPgfq&_=1550647072827

分析详细参数,里面包含了酒店的ID、入住日期、退房日期等等一系列参数,当详细参数仅为:

hotel=6147365

请求完整URL:

url: http://hotels.ctrip.com/Domestic/tool/AjaxHote1RoomListForDetai1.aspx?hotel=6147365

响应状态码为200,响应内容为北京朝林松源酒店的详细信息,所以,通过输入不同的酒店ID,即可获得不同的北京五星级酒店详细信息。用代码表示:

# Basic URL
basic_url = "http://hotels.ctrip.com/Domestic/tool/AjaxHote1RoomListForDetai1.aspx?hotel="
# Complete URL
url = basic_url + str(hotel_id)

 

3.3 响应

3.3.1 BeautifulSoup提取标签信息

使用Python中的requests包请求URL时,返回的是如图6所示的html代码。

《Python3 爬取携程网[2]: 爬取北京五星级酒店详细信息》

                                                                                图6 请求返回的html代码

通过阅读返回的html代码,我们发现,我们所需要的房型、最低价等一系列信息,就存放在class名为“child_name J_Col_RoomName”中的标签中。此时,借助BeautifulSoup包,可以快速实现对该类的信息提取。使用BeautifulSoup包进行信息提取的代码为:

# Response
html = r.json()['html']

# Using BeautifulSoup
soup = BeautifulSoup(html, "lxml")
# Find all related tags.
rooms = soup.findAll('td', attrs={"class":"child_name J_Col_RoomName"})
print(rooms)

信息提取结果:

[<td class="child_name J_Col_RoomName" data-addbed="1" data-bed="1" data-bf="3" data-ctrip="1" data-firstmap="47630895PP,47631641PP,47631642PP," data-hotelinvoice="1" data-networklan="1" data-networkwifi="1" data-pay="3" data-personmatch="false" data-policy="3" data-price="1609" data-pricedisplay="1609" data-reserve="1" data-roomid="47630895PP">
<span class="room_type_name">标准价</span>
<span data-params="{'options':{'type':'jmp_table','template':'#jmpTempGift','content':{'gift':'T','giftinfo':'每间夜可获得竹林自助餐厅午餐或晚餐1次,每次最多房间内2名已办理入住客人可用。仅限入住期间使用,具体餐次由客人自选,暂不提供周日和国家法定节假日最后一日晚餐。','ShadowGift':'F','package':'F'},'classNames':{'boxType':'jmp_table'},'css':{'maxWidth':500},'group':'gift'}}" data-role="jmp"><span class="label_onsale_orange" style="margin-right: 0px">礼</span></span><input class="spfrom" type="hidden" value="-1"/>
</td>, <td class="child_name J_Col_RoomName" data-addbed="1" data-bed="1" data-bf="2" data-ctrip="1" data-hotelinvoice="1" data-networklan="1" data-networkwifi="1" data-pay="3" data-personmatch="false" data-policy="3" data-price="1659" data-pricedisplay="1659" data-reserve="1" data-roomid="47631641PP">
<span class="room_type_name">标准价</span>
<span data-params="{'options':{'type':'jmp_table','template':'#jmpTempGift','content':{'gift':'T','giftinfo':'每间夜可获得竹林自助餐厅午餐或晚餐1次,每次最多房间内2名已办理入住客人可用。仅限入住期间使用,具体餐次由客人自选,暂不提供周日和国家法定节假日最后一日晚餐。','ShadowGift':'F','package':'F'},'classNames':{'boxType':'jmp_table'},'css':{'maxWidth':500},'group':'gift'}}" data-role="jmp"><span class="label_onsale_orange" style="margin-right: 0px">礼</span></span><input class="spfrom" type="hidden" value="-1"/>
</td>, <td class="child_name J_Col_RoomName" data-addbed="1" data-baseroominfo='{"RoomUrl":"//dimg12.c-ctrip.com/images/200b090000003y2zz574C_R_300_225.jpg","RoomID":27541229,"RoomName":"豪华大床房","BaseRoomInfo":"40平方米&lt;span class=\"line\"&gt;|&lt;/span&gt;3-8层&lt;span class=\"line\"&gt;|&lt;/span&gt;不可吸烟&lt;span class=\"line\"&gt;|&lt;/span&gt;1张2米双人床&lt;span class=\"line\"&gt;|&lt;/span&gt;2人","ConvenientFacilities":null,"MediaTechnology":null,"FoodBeverages":null,"Bathroom":null,"OutdoorsViews":null,"ServicesOthers":null,"PriceNum":3,"LowPrice":1609.0,"RoomTotalNum":3}' data-baseroomname="豪华大床房" data-bed="1" data-bf="1" data-ctrip="1" data-hotelinvoice="1" data-networklan="1" data-networkwifi="1" data-pay="3" data-personmatch="false" data-policy="3" data-price="1828" data-pricedisplay="1828" data-reserve="1" data-roomid="47631642PP">
<span class="room_type_name">标准价</span>
<span data-params="{'options':{'type':'jmp_table','template':'#jmpTempGift','content':{'gift':'T','giftinfo':'每间夜可获得竹林自助餐厅午餐或晚餐1次,每次最多房间内2名已办理入住客人可用。仅限入住期间使用,具体餐次由客人自选,暂不提供周日和国家法定节假日最后一日晚餐。','ShadowGift':'F','package':'F'},'classNames':{'boxType':'jmp_table'},'css':{'maxWidth':500},'group':'gift'}}" data-role="jmp"><span class="label_onsale_orange" style="margin-right: 0px">礼</span></span><input class="spfrom" type="hidden" value="-1"/>
</td>, <td class="child_name J_Col_RoomName" data-bed="2" data-bf="3" data-ctrip="1" data-firstmap="47630897PP,47631644PP," data-hotelinvoice="1" data-networklan="1" data-networkwifi="1" data-pay="3" data-personmatch="false" data-policy="3" data-price="1609" data-pricedisplay="1609" data-reserve="1" data-roomid="47630897PP">
<span class="room_type_name">标准价</span>
<span data-params="{'options':{'type':'jmp_table','template':'#jmpTempGift','content':{'gift':'T','giftinfo':'每间夜可获得竹林自助餐厅午餐或晚餐1次,每次最多房间内2名已办理入住客人可用。仅限入住期间使用,具体餐次由客人自选,暂不提供周日和国家法定节假日最后一日晚餐。','ShadowGift':'F','package':'F'},'classNames':{'boxType':'jmp_table'},'css':{'maxWidth':500},'group':'gift'}}" data-role="jmp"><span class="label_onsale_orange" style="margin-right: 0px">礼</span></span><input class="spfrom" type="hidden" value="-1"/>
</td>, <td class="child_name J_Col_RoomName" data-baseroominfo='{"RoomUrl":"//dimg13.c-ctrip.com/images/200a0m000000djgmfE42D_R_300_225.jpg","RoomID":27541231,"RoomName":"豪华双床房","BaseRoomInfo":"40平方米&lt;span class=\"line\"&gt;|&lt;/span&gt;3-8层&lt;span class=\"line\"&gt;|&lt;/span&gt;不可吸烟&lt;span class=\"line\"&gt;|&lt;/span&gt;2张1.35米单人床&lt;span class=\"line\"&gt;|&lt;/span&gt;不可加床&lt;span class=\"line\"&gt;|&lt;/span&gt;2人","ConvenientFacilities":null,"MediaTechnology":null,"FoodBeverages":null,"Bathroom":null,"OutdoorsViews":null,"ServicesOthers":null,"PriceNum":2,"LowPrice":1609.0,"RoomTotalNum":2}' data-baseroomname="豪华双床房" data-bed="2" data-bf="1" data-ctrip="1" data-hotelinvoice="1" data-networklan="1" data-networkwifi="1" data-pay="3" data-personmatch="false" data-policy="3" data-price="1848" data-pricedisplay="1848" data-reserve="1" data-roomid="47631644PP">
<span class="room_type_name">标准价</span>
<span data-params="{'options':{'type':'jmp_table','template':'#jmpTempGift','content':{'gift':'T','giftinfo':'每间夜可获得竹林自助餐厅午餐或晚餐1次,每次最多房间内2名已办理入住客人可用。仅限入住期间使用,具体餐次由客人自选,暂不提供周日和国家法定节假日最后一日晚餐。','ShadowGift':'F','package':'F'},'classNames':{'boxType':'jmp_table'},'css':{'maxWidth':500},'group':'gift'}}" data-role="jmp"><span class="label_onsale_orange" style="margin-right: 0px">礼</span></span><input class="spfrom" type="hidden" value="-1"/>
</td>, <td class="child_name J_Col_RoomName" data-addbed="1" data-bed="1" data-bf="3" data-ctrip="1" data-firstmap="47630899PP,47631646PP," data-hotelinvoice="1" data-networklan="1" data-networkwifi="1" data-pay="3" data-personmatch="false" data-policy="3" data-price="3429" data-pricedisplay="3429" data-reserve="1" data-roomid="47630899PP">
<span class="room_type_name">标准价</span>
<span data-params="{'options':{'type':'jmp_table','template':'#jmpTempGift','content':{'gift':'T','giftinfo':'首日可获店酒(法国教皇新堡干红)1瓶&lt;br /&gt;每间夜可获竹林自助餐厅午餐和晚餐各1次,每次最多房间内2名已办理入住客人可用。仅限入住期间使用,暂不提供周日和国家法定节假日最后一日晚餐。','ShadowGift':'F','package':'F'},'classNames':{'boxType':'jmp_table'},'css':{'maxWidth':500},'group':'gift'}}" data-role="jmp"><span class="label_onsale_orange" style="margin-right: 0px">礼</span></span><input class="spfrom" type="hidden" value="-1"/>
</td>, <td class="child_name J_Col_RoomName" data-addbed="1" data-baseroominfo='{"RoomUrl":"//dimg11.c-ctrip.com/images/200s090000003y41p18C8_R_300_225.jpg","RoomID":27541233,"RoomName":"豪华商务套房","BaseRoomInfo":"80平方米&lt;span class=\"line\"&gt;|&lt;/span&gt;3-5层&lt;span class=\"line\"&gt;|&lt;/span&gt;不可吸烟&lt;span class=\"line\"&gt;|&lt;/span&gt;1张2米双人床&lt;span class=\"line\"&gt;|&lt;/span&gt;2人","ConvenientFacilities":null,"MediaTechnology":null,"FoodBeverages":null,"Bathroom":null,"OutdoorsViews":null,"ServicesOthers":null,"PriceNum":2,"LowPrice":3429.0,"RoomTotalNum":2}' data-baseroomname="豪华商务套房" data-bed="1" data-bf="1" data-ctrip="1" data-hotelinvoice="1" data-networklan="1" data-networkwifi="1" data-pay="3" data-personmatch="false" data-policy="3" data-price="3668" data-pricedisplay="3668" data-reserve="1" data-roomid="47631646PP">
<span class="room_type_name">标准价</span>
<span data-params="{'options':{'type':'jmp_table','template':'#jmpTempGift','content':{'gift':'T','giftinfo':'首日可获店酒(法国教皇新堡干红)1瓶&lt;br /&gt;每间夜可获竹林自助餐厅午餐和晚餐各1次,每次最多房间内2名已办理入住客人可用。仅限入住期间使用,暂不提供周日和国家法定节假日最后一日晚餐。','ShadowGift':'F','package':'F'},'classNames':{'boxType':'jmp_table'},'css':{'maxWidth':500},'group':'gift'}}" data-role="jmp"><span class="label_onsale_orange" style="margin-right: 0px">礼</span></span><input class="spfrom" type="hidden" value="-1"/>
</td>, <td class="child_name J_Col_RoomName" data-addbed="1" data-bed="1" data-bf="3" data-ctrip="1" data-firstmap="58939955PP,58939956PP," data-hotelinvoice="1" data-networkwifi="1" data-pay="3" data-personmatch="false" data-policy="3" data-price="1839" data-pricedisplay="1839" data-reserve="1" data-roomid="58939955PP">
<span class="room_type_name">标准价</span>
<span data-params="{'options':{'type':'jmp_table','template':'#jmpTempGift','content':{'gift':'T','giftinfo':'每间夜可获得竹林自助餐厅午餐或晚餐1次,每次最多房间内2名已办理入住客人可用。仅限入住期间使用,具体餐次由客人自选,暂不提供周日和国家法定节假日最后一日晚餐。','ShadowGift':'F','package':'F'},'classNames':{'boxType':'jmp_table'},'css':{'maxWidth':500},'group':'gift'}}" data-role="jmp"><span class="label_onsale_orange" style="margin-right: 0px">礼</span></span><input class="spfrom" type="hidden" value="-1"/>
</td>, <td class="child_name J_Col_RoomName" data-addbed="1" data-baseroominfo='{"RoomUrl":"//dimg13.c-ctrip.com/images/20090d0000006y7k06A04_R_300_225.jpg","RoomID":33300631,"RoomName":"豪华商务大床房","BaseRoomInfo":"46平方米&lt;span class=\"line\"&gt;|&lt;/span&gt;3、5-8层&lt;span class=\"line\"&gt;|&lt;/span&gt;不可吸烟&lt;span class=\"line\"&gt;|&lt;/span&gt;1张2米双人床&lt;span class=\"line\"&gt;|&lt;/span&gt;2人","ConvenientFacilities":null,"MediaTechnology":null,"FoodBeverages":null,"Bathroom":null,"OutdoorsViews":null,"ServicesOthers":null,"PriceNum":2,"LowPrice":1839.0,"RoomTotalNum":2}' data-baseroomname="豪华商务大床房" data-bed="1" data-bf="2" data-ctrip="1" data-hotelinvoice="1" data-networkwifi="1" data-pay="3" data-personmatch="false" data-policy="3" data-price="1956" data-pricedisplay="1956" data-reserve="1" data-roomid="58939956PP">
<span class="room_type_name">标准价</span>
<span data-params="{'options':{'type':'jmp_table','template':'#jmpTempGift','content':{'gift':'T','giftinfo':'每间夜可获得竹林自助餐厅午餐或晚餐1次,每次最多房间内2名已办理入住客人可用。仅限入住期间使用,具体餐次由客人自选,暂不提供周日和国家法定节假日最后一日晚餐。','ShadowGift':'F','package':'F'},'classNames':{'boxType':'jmp_table'},'css':{'maxWidth':500},'group':'gift'}}" data-role="jmp"><span class="label_onsale_orange" style="margin-right: 0px">礼</span></span><input class="spfrom" type="hidden" value="-1"/>
</td>, <td class="child_name J_Col_RoomName" data-addbed="1" data-baseroominfo='{"RoomUrl":"//dimg12.c-ctrip.com/images/20080d0000006y7xj88C1_R_300_225.jpg","RoomID":33300678,"RoomName":"奢华特色套房","BaseRoomInfo":"80平方米&lt;span class=\"line\"&gt;|&lt;/span&gt;3、5层&lt;span class=\"line\"&gt;|&lt;/span&gt;不可吸烟&lt;span class=\"line\"&gt;|&lt;/span&gt;1张2米双人床&lt;span class=\"line\"&gt;|&lt;/span&gt;2人","ConvenientFacilities":null,"MediaTechnology":null,"FoodBeverages":null,"Bathroom":null,"OutdoorsViews":null,"ServicesOthers":null,"PriceNum":1,"LowPrice":5459.0,"RoomTotalNum":1}' data-baseroomname="奢华特色套房" data-bed="1" data-bf="1" data-ctrip="1" data-hotelinvoice="1" data-networkwifi="1" data-pay="3" data-personmatch="false" data-policy="3" data-price="5459" data-pricedisplay="5459" data-reserve="1" data-roomid="58939960PP">
<span class="room_type_name">标准价</span>
<span data-params="{'options':{'type':'jmp_table','template':'#jmpTempGift','content':{'gift':'T','giftinfo':'首日可获店酒(法国教皇新堡干红)1瓶&lt;br /&gt;每间夜可获竹林自助餐厅午餐和晚餐各1次,每次最多房间内2名已办理入住客人可用。仅限入住期间使用,暂不提供周日和国家法定节假日最后一日晚餐。','ShadowGift':'F','package':'F'},'classNames':{'boxType':'jmp_table'},'css':{'maxWidth':500},'group':'gift'}}" data-role="jmp"><span class="label_onsale_orange" style="margin-right: 0px">礼</span></span><input class="spfrom" type="hidden" value="-1"/>
</td>, <td class="child_name J_Col_RoomName" data-baseroominfo='{"RoomUrl":"//dimg12.c-ctrip.com/images/20040n000000e01bjDEF1_R_300_225.jpg","RoomID":37303662,"RoomName":"高级大床房","BaseRoomInfo":"35平方米&lt;span class=\"line\"&gt;|&lt;/span&gt;3-10层&lt;span class=\"line\"&gt;|&lt;/span&gt;不可吸烟&lt;span class=\"line\"&gt;|&lt;/span&gt;1张2米双人床&lt;span class=\"line\"&gt;|&lt;/span&gt;不可加床&lt;span class=\"line\"&gt;|&lt;/span&gt;2人","ConvenientFacilities":null,"MediaTechnology":null,"FoodBeverages":null,"Bathroom":null,"OutdoorsViews":null,"ServicesOthers":null,"PriceNum":1,"LowPrice":1328.0,"RoomTotalNum":1}' data-baseroomname="高级大床房" data-bed="1" data-bf="3" data-ctrip="1" data-hotelinvoice="1" data-networkwifi="1" data-pay="3" data-personmatch="false" data-policy="1|2" data-price="1328" data-pricedisplay="1328" data-reserve="1" data-roomid="67950117PP">
<span class="room_type_name">(无景/不规则)</span>
<span data-params="{'options':{'type':'jmp_table','template':'#jmpTempGift','content':{'gift':'T','giftinfo':'每间夜可获得竹林自助餐厅午餐或晚餐1次,每次最多房间内2名已办理入住客人可用。仅限入住期间使用,具体餐次由客人自选,暂不提供周日和国家法定节假日最后一日晚餐。','ShadowGift':'F','package':'F'},'classNames':{'boxType':'jmp_table'},'css':{'maxWidth':500},'group':'gift'}}" data-role="jmp"><span class="label_onsale_orange" style="margin-right: 0px">礼</span></span><input class="spfrom" type="hidden" value="-1"/>
</td>, <td class="child_name J_Col_RoomName" data-addbed="1" data-baseroominfo='{"RoomUrl":"//dimg11.c-ctrip.com/images/200p0v000000jszjtD57F_R_300_225.jpg","RoomID":79467148,"RoomName":"豪华公寓套房","BaseRoomInfo":"80平方米&lt;span class=\"line\"&gt;|&lt;/span&gt;9层&lt;span class=\"line\"&gt;|&lt;/span&gt;不可吸烟&lt;span class=\"line\"&gt;|&lt;/span&gt;1张2米特大床&lt;span class=\"line\"&gt;|&lt;/span&gt;2人","ConvenientFacilities":null,"MediaTechnology":null,"FoodBeverages":null,"Bathroom":null,"OutdoorsViews":null,"ServicesOthers":null,"PriceNum":1,"LowPrice":3856.0,"RoomTotalNum":1}' data-baseroomname="豪华公寓套房" data-bed="1" data-bf="3" data-ctrip="1" data-hotelinvoice="1" data-networkwifi="1" data-pay="3" data-personmatch="false" data-policy="1|2" data-price="3856" data-pricedisplay="3856" data-reserve="1" data-roomid="178457389PP">
<span class="room_type_name">标准价</span>
<input class="spfrom" type="hidden" value="-1"/>
</td>, <td class="child_name J_Col_RoomName" data-addbed="1" data-baseroominfo='{"RoomUrl":"//dimg10.c-ctrip.com/images/20050v000000jwzjx420F_R_300_225.jpg","RoomID":79467149,"RoomName":"至尊公寓套房","BaseRoomInfo":"80平方米&lt;span class=\"line\"&gt;|&lt;/span&gt;11层&lt;span class=\"line\"&gt;|&lt;/span&gt;不可吸烟&lt;span class=\"line\"&gt;|&lt;/span&gt;1张2米特大床&lt;span class=\"line\"&gt;|&lt;/span&gt;2人","ConvenientFacilities":null,"MediaTechnology":null,"FoodBeverages":null,"Bathroom":null,"OutdoorsViews":null,"ServicesOthers":null,"PriceNum":1,"LowPrice":6438.0,"RoomTotalNum":1}' data-baseroomname="至尊公寓套房" data-bed="1" data-bf="3" data-ctrip="1" data-hotelinvoice="1" data-networkwifi="1" data-pay="3" data-personmatch="false" data-policy="1|2" data-price="6438" data-pricedisplay="6438" data-reserve="1" data-roomid="178457784PP">
<span class="room_type_name">标准价</span>
<input class="spfrom" type="hidden" value="-1"/>
</td>]

结果存放于一个列表中,已经比最初返回的html代码简洁很多。

3.3.2 正则表达式提取字符串信息

3.3.1 中返回的结果列表,已经包含了本文所需要提取的全部信息。但是,出于美观,以及对技术的深入追求,我们需要的只是文字信息,并不需要类似于<span>等字样。因此,这部分的工作内容是使用正则表达式,从3.3.1返回的结果列表中提取出我们需要的文字信息。

利用Python中内建函数type(),可以发现列表中内容的类别为<class ‘bs4.element.Tag’>

print(type(rooms[0]))
# <class 'bs4.element.Tag'>

我们需要的信息,存放于key(键名)为data-baseroominfo的属性中,利用BeautifulSoup中has_attr这一属性进行判断。当列表中该项包含这一属性,将其提取出来,并将其转化为JSON对象。房型ID、房型名称、最低价,可以直接通过JSON对象直接获取。

但是,我们发现,在“BaseRoomInfo”这一项中,仍包含<span>等一系列我们不需要的字样。此时,需要借助正则表达式进行数据提取。过程如下:

1. 在Python3中使用正则表达式,首先需要先导入该包。

import re

2. 然后,构建正则表达式语句。这一部分是关键。原始字符串为:

raw_str = "80平方米&lt;span class=\"line\"&gt;|&lt;/span&gt;3、5层&lt;span class=\"line\"&gt;|&lt;/span&gt;不可吸烟&lt;span class=\"line\"&gt;|&lt;/span&gt;1张2米双人床&lt;span class=\"line\"&gt;|&lt;/span&gt;2人"

匹配语句为:

baseroom_pattern = re.compile(r'<[^>]+>')

匹配语句解释:

  • ‘<’表示从该符号开始;
  • [^>]表示匹配除了‘>’符号以外的任意字符;
  • ‘+’表示重复一次或更多次;
  • ‘>’表示倒该符号停止。

3. 运用正则表达式的替换功能,将匹配的语句用空字符串进行替换,即可实现删除多余字样。代码与替换结果如下:

remove_tag = baseroom_pattern.sub("",baseroom_info)
print(remove_tag)

# Result
# 40平方米|3-8层|不可吸烟|1张2米双人床|2人

4. 使用字符串内建函数split(),即可实现删除3中结果的“|”线。

RoomDetailInfo = remove_tag.split("|")
print(RoomDetailInfo)

# Result
# ['40平方米', '3-8层', '不可吸烟', '1张2米双人床', '2人']

5. 正则表达式进行信息提取的这部分代码:

# Regex Pattern
    baseroom_pattern = re.compile(r'<[^>]+>')  # r'<[^>]+>'

    for idx in range(len(rooms)):
        if rooms[idx].has_attr(key='data-baseroominfo'):
            room_info_str = rooms[idx]['data-baseroominfo']
            room_info_json = json.loads(room_info_str)
            RoomID.append(str(room_info_json["RoomID"]))
            RoomName.append(room_info_json["RoomName"])
            LowPrice.append(room_info_json["LowPrice"])

            baseroom_info = room_info_json["BaseRoomInfo"]
            # print(type(baseroom_info))
            # <class 'str'>
            remove_tag = baseroom_pattern.sub("", baseroom_info)
            RoomDetailInfo = remove_tag.split("|")
            if len(RoomDetailInfo) == 4:
                RoomDetailInfo.insert(3, None)

            RoomSize.append(RoomDetailInfo[0])
            RoomLevel.append(RoomDetailInfo[1])
            BedSize.append(RoomDetailInfo[2])
            IsAddBed.append(RoomDetailInfo[3])
            CustomerNum.append(RoomDetailInfo[4])
        else:
            continue

3.3.3 整合为Pandas.DataFrame对象

3.3.2 完成了对信息的提取,本部分内容将提取的列表整合为一个矩阵,然后用Pandas.DataFrame进行展示。

RoomInfo = np.array((RoomID, RoomName, LowPrice, RoomSize, RoomLevel, BedSize, IsAddBed, CustomerNum)).T

# Create a DataFrame object
column_name = ['RoomID', 'RoomName', 'LowPrice', 'RoomSize', 'RoomLevel', 'BedSize', 'IsAddBed', 'CustomerNum']
df = pd.DataFrame(data=RoomInfo, columns=column_name)

 

4. 完整代码

4.1 完整代码实现

本篇文章,是Python3 爬取携程网[1]的延续。所以,逻辑思路如下:

  1. 首先将爬取北京某一五星级酒店详细信息这一系列操作封装为一个函数;
  2. 读取Python3 爬取携程网[1]保存的csv文件;
  3. 根据显示,输入任意酒店的索引值,执行第1步封装的函数,即可实现对这一酒店详细信息的展示。

完整代码如下:

# coding=utf8
import numpy as np
import pandas as pd
from bs4 import BeautifulSoup
import requests
import random
import time
import csv
import json
import re

pd.set_option('display.max_columns', 10000)
pd.set_option('display.max_rows', 10000)
pd.set_option('display.max_colwidth', 10000)
pd.set_option('display.width',1000)

# Beijing 5 star hotel list url
five_star_url = "http://hotels.ctrip.com/Domestic/Tool/AjaxHotelList.aspx"
filename = "./Data/Beijing 5 star hotel list.csv"

def Scrap_hotel_lists():
    """
    It aims to crawl the 5 star hotel lists in Beijing and save in a csv file.
    """
    headers = {
        "Connection": "keep-alive",
        "origin": "http://hotels.ctrip.com",
        "Host": "hotels.ctrip.com",
        "referer": "http://hotels.ctrip.com/hotel/beijing1",
        "user-agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.92 Safari/537.36",
        "Content-Type":"application/x-www-form-urlencoded; charset=utf-8"
    }

    id = []
    name = []
    hotel_url = []
    address = []
    score = []

    # 8 pages
    for page in range(1,8):
        data = {
            "StartTime": "2019-03-18",  # The value depends on the date you want to scrap.
            "DepTime": "2019-03-20",
            "RoomGuestCount": "0,1,2",
            "cityId": 1,
            "cityPY": " beijing",
            "cityCode": "010",
            "cityLat": 39.9105329229,
            "cityLng": 116.413784021,
            "page": page,
            "star": 5,
            "orderby": 3
        }
        html = requests.post(five_star_url, headers=headers, data=data)
        hotel_list = html.json()["hotelPositionJSON"]

        for item in hotel_list:
            id.append(item['id'])
            name.append(item['name'])
            hotel_url.append(item['url'])
            address.append(item['address'])
            score.append(item['score'])

        time.sleep(random.randint(3,5))

    hotel_array = np.array((id, name, score, hotel_url, address)).T
    list_header = ['id', 'name', 'score', 'url', 'address']
    array_header = np.array((list_header))
    hotellists = np.vstack((array_header, hotel_array))
    with open(filename, 'w', encoding="utf-8-sig", newline="") as f:
        csvwriter = csv.writer(f, dialect='excel')
        csvwriter.writerows(hotellists)


def hotel_detail(hotel_id):
    """
    It aims to scrap the detailed information of a specific hotel.
    """
    headers = {"Connection": "keep-alive",
               "Accept-Language": "zh-CN,zh;q=0.9",
               "Cache-Control": "max-age=0",
               "Content-Type": "application/x-www-form-urlencoded; charset=utf-8",
               "Host": "hotels.ctrip.com",
               "If-Modified-Since": "Thu, 01 Jan 1970 00:00:00 GMT",
               "Referer": "http://hotels.ctrip.com/hotel/2231618.html",
               "User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) "
                             "Chrome/69.0.3497.92 Safari/537.36"
               }

    basic_url = "http://hotels.ctrip.com/Domestic/tool/AjaxHote1RoomListForDetai1.aspx?hotel="
    url = basic_url + str(hotel_id)

    r = requests.get(url, headers=headers)
    # Response is a json object.
    html = r.json()['html']
    soup = BeautifulSoup(html, "lxml")
    rooms = soup.findAll('td', attrs={"class": "child_name J_Col_RoomName"})

    RoomID = []
    RoomName = []
    LowPrice = []
    RoomSize = []
    RoomLevel = []
    IsAddBed = []
    BedSize = []
    CustomerNum = []

    # Regex Pattern
    baseroom_pattern = re.compile(r'<[^>]+>')  # r'<[^>]+>'

    for idx in range(len(rooms)):
        if rooms[idx].has_attr(key='data-baseroominfo'):
            room_info_str = rooms[idx]['data-baseroominfo']
            room_info_json = json.loads(room_info_str)
            RoomID.append(str(room_info_json["RoomID"]))
            RoomName.append(room_info_json["RoomName"])
            LowPrice.append(room_info_json["LowPrice"])

            baseroom_info = room_info_json["BaseRoomInfo"]
            # print(type(baseroom_info))
            # <class 'str'>
            remove_tag = baseroom_pattern.sub("", baseroom_info)
            RoomDetailInfo = remove_tag.split("|")
            if len(RoomDetailInfo) == 4:
                RoomDetailInfo.insert(3, None)

            RoomSize.append(RoomDetailInfo[0])
            RoomLevel.append(RoomDetailInfo[1])
            BedSize.append(RoomDetailInfo[2])
            IsAddBed.append(RoomDetailInfo[3])
            CustomerNum.append(RoomDetailInfo[4])
        else:
            continue

    RoomInfo = np.array((RoomID, RoomName, LowPrice, RoomSize, RoomLevel, BedSize, IsAddBed, CustomerNum)).T
    # Create a DataFrame object
    # print(RoomInfo)
    column_name = ['RoomID', 'RoomName', 'LowPrice', 'RoomSize', 'RoomLevel', 'BedSize', 'IsAddBed', 'CustomerNum']
    df = pd.DataFrame(data=RoomInfo, columns=column_name)
    print(df)


if __name__ == "__main__":

    # 1. Scrap 5 star hotel list in Beijing
    # Scrap_hotel_lists()

    # 2. Scrap the detailed hotel information
    df = pd.read_csv(filename, encoding='utf8')
    print("1. Beijing 5 Star Hotel Lists")
    print(df)
    hotelID = df["id"]
    print('\n')

    while True:
        print("2.1 If you find to search the detail hotel information, please input the hotel index in the DataFrame.")
        print("2.2 If you want to quit, input 'q'.")

        print("Please input the Parameter: ")
        input_param = input()
        if input_param.isnumeric():
            hotel_index = int(input_param)
            if 0 <= hotel_index <= 170:
                print("3. The detail information of the Hotel:")
                hotel_detail(hotelID[hotel_index])
            else:
                print('Hotel Index out of range! ')
                print('Remember: 0 <= Hotel Index <= 170')
                print('Please input again.')
                continue
        elif input_param == 'q':
            print('See you later!')
            break
        else:
            print('Invalid Input!')
            print('\n')
            continue

 

4.2 运行结果展示

  1. 读取保存的csv文件,并用Pandas.DataFrame进行展示。这部分结果如下:
1. Beijing 5 Star Hotel Lists
           id                                 name  score                                                         url                                                                            address
0     6147365                             北京朝林松源酒店    4.9    /hotel/6147365.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_1                                                  大兴区经济技术开发区荣华中路19号,近亦庄管委会。 ( 亦庄地区)
1      369673                            北京歌华开元大酒店    4.8     /hotel/369673.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_2                                                    朝阳区北三环鼓楼外大街19号,近安华桥。 ( 马甸、安贞地区)
2      375265                             北京京都信苑饭店    4.8     /hotel/375265.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_3                                 海淀区什坊院6号莲花桥畔,近地铁10号线莲花桥站B出口。 ( 北京西站、丽泽商务区西单、金融街地区)
3     2215343                               北京诺金酒店    4.8    /hotel/2215343.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_4                                                   朝阳区将台路甲2号,近机场高速。 ( 望京、酒仙桥、798地区)
4      984991                             北京中乐六星酒店    4.8     /hotel/984991.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_5                                                     丰台区方庄芳群园三区4号,近群星路。 ( 劲松、潘家园地区)
5      939388                          北京国二招宾馆(东楼)    4.8     /hotel/939388.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_6                西城区西直门南大街6号 (南门),西直门桥东南角,北大人民医院东侧(西直门地铁C出口)。 ( 西直门及北京展览馆地区西单、金融街地区)
6      391750                               北京四季酒店    4.8     /hotel/391750.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_7                                                      朝阳区亮马桥路48号,近燕莎桥。 ( 燕莎、三里屯商业区)
7     1198297                               北京瑰丽酒店    4.8    /hotel/1198297.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_8                                               朝阳区呼家楼京广中心,近京广桥。 ( 国贸地区东直门、工体、雍和宫地区)
8      347422                              北京嘉里大酒店    4.8     /hotel/347422.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_9                                                            朝阳区光华路1号,光华桥西侧。 ( 国贸地区)
9     5032132                               北京泰富酒店    4.8   /hotel/5032132.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_10                                    海淀区西土城路1号院1号楼,近知春路、地铁10号线-西土城站(D出口)。 ( 中关村、五道口)
10     369675                              北京国贸大酒店    4.8    /hotel/369675.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_11                                              朝阳区建国门外大街1号(前台位于64层),近建国门外大街。 ( 国贸地区)
11     735707                             北京华尔道夫酒店    4.8    /hotel/735707.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_12                                             东城区金鱼胡同5-15号,近王府井步行街、天安门。 ( 天安门、王府井地区)
12    1641390                            北京VUE后海酒店    4.8   /hotel/1641390.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_13  西城区德内大街羊房胡同9号,后海边,近恭王府、南锣鼓巷、宋庆龄郭沫若故居,积水潭医院、北大医院,6号线北海北站东南口。 ( 后海、南锣鼓巷地区天安门、王府井地区)
13    1288173                          北京朗丽兹西山花园酒店    4.8   /hotel/1288173.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_14                                         海淀区永丰路与北清路十字路口往南800米路南,近丰滢东路。 ( 上地产业园、西三旗)
14    2231618                           北京东直门亚朵S酒店    4.8   /hotel/2231618.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_15                                       朝阳区香河园路左家庄15号,近东直门万国城。 ( 国展中心地区东直门、工体、雍和宫地区)
15    1707138                               北京雁栖酒店    4.8   /hotel/1707138.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_16                                    怀柔区雁栖湖西路2号院14号楼,雁栖湖雁栖岛、红螺寺、青龙峡、凯宾斯基集团。 ( 怀柔风景区)
16     429034                             北京盘古七星酒店    4.8    /hotel/429034.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_17                                          朝阳区北四环中路27号,盘古大观,近奥运村国家体育馆。 ( 亚运村、奥体中心地区)
17     424787                               北京瑞吉酒店    4.8    /hotel/424787.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_18                                   朝阳区建国门外大街21号,建国门桥东北角,建国门地铁站B口700米处。 ( 北京站、建国门地区)
18     369700                               北京丽晶酒店    4.7    /hotel/369700.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_19                                                    东城区金宝街99号,近北京金宝大厦。 ( 天安门、王府井地区)
19     429203                               北京励骏酒店    4.7    /hotel/429203.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_20                                                      东城区金宝街92号,近国旅大厦。 ( 天安门、王府井地区)
20     437440                               北京乾元酒店    4.7    /hotel/437440.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_21                                        东城区东直门内大街19号,近建设部综合勘察研究设计院。 ( 东直门、工体、雍和宫地区)
21     427807                              北京长富宫饭店    4.7    /hotel/427807.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_22                                                  朝阳区建国门外大街26号,近建国南大街。 ( 北京站、建国门地区)
22     396423                               北京昆仑饭店    4.7    /hotel/396423.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_23                                                  朝阳区新源南路2号,燕莎友谊商城正对面。 ( 燕莎、三里屯商业区)
23     429533                             北京昆泰嘉华酒店    4.7    /hotel/429533.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_24                                            朝阳区朝外大街乙12号,近蓝岛大厦和丰联广场。 ( 东直门、工体、雍和宫地区)
24     374778                             北京富力万丽酒店    4.7    /hotel/374778.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_25                                                          朝阳区东三环中路61号,近广渠路。 ( 国贸地区)
25     345025                          北京中奥马哥孛罗大酒店    4.7     /hotel/345025.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_1                                                           朝阳区安立路78号。 ( 亚运村、奥体中心地区)
26     369708                          北京首都机场希尔顿酒店    4.7     /hotel/369708.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_2                                            顺义区首都机场3号航站楼,三经路与二纬路的交汇处。 ( 首都机场、新国展地区)
27     391657                         北京朝阳悠唐皇冠假日酒店    4.7     /hotel/391657.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_3                                          朝阳区三丰北里3号(外交部东南侧),近朝外市场街。 ( 东直门、工体、雍和宫地区)
28    1739375                         北京日出东方凯宾斯基酒店    4.7    /hotel/1739375.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_4                                       怀柔区雁栖湖雁水路甲18号,雁栖湖、红螺寺、青龙峡、观山邸、慕田峪、。 ( 怀柔风景区)
29     419959                           金茂北京威斯汀大饭店    4.7     /hotel/419959.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_5                                                   朝阳区东三环北路7号,近地铁亮马桥站。 ( 燕莎、三里屯商业区)
30     434333                   北京唯实酒店(唯实国际文化交流中心)    4.7     /hotel/434333.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_6                                                  海淀区学院路39号,近北京航空航天大学东门。 ( 中关村、五道口)
31     928851                           北京丽都皇冠假日酒店    4.7     /hotel/928851.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_7                                                  朝阳区将台路6号,与京密路交汇处。 ( 望京、酒仙桥、798地区)
32    2083684                  北京云瑧金陵莲花酒店(原世纪莲花酒店)    4.7    /hotel/2083684.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_8                                              丰台区莲花池南路1号院1号楼,近西客站南广场。 ( 北京西站、丽泽商务区)
33     374776                            北京华彬费尔蒙酒店    4.7     /hotel/374776.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_9                                                       朝阳区建国门外街永安东里8号,近长安街。 ( 国贸地区)
34     429505                               北京东隅酒店    4.7    /hotel/429505.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_10                                                   朝阳区酒仙桥路22号,近酒仙桥。 ( 望京、酒仙桥、798地区)
35     391655                             北京JW万豪酒店    4.7    /hotel/391655.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_11                                                       朝阳区华贸中心建国路83号,近新光天地。 ( 国贸地区)
36     467314                             北京工大建国饭店    4.7    /hotel/467314.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_12         朝阳区平乐园100号,北京工业大学南门,出门即是地铁14号线北工大站,打车到国贸周边起步即到,近大望路建国路国贸桥。 ( 劲松、潘家园地区国贸地区)
37    7492873                              北京新国贸饭店    4.7   /hotel/7492873.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_13                                                       朝阳区建国门外大街一号,近国贸3期B座。 ( 国贸地区)
38     387045                          北京金融街威斯汀大酒店    4.7    /hotel/387045.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_14                                                      西城区金融大街丙9号,近月坛北桥。 ( 西单、金融街地区)
39     393315                      北京丽思卡尔顿酒店(华贸中心)    4.7    /hotel/393315.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_15                                                      朝阳区华贸中心建国路甲83号,近新光天地。 ( 国贸地区)
40     378583                              北京中国大饭店    4.7    /hotel/378583.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_16                                                       朝阳区建国门外大街1号,近国际贸易中心。 ( 国贸地区)
41     430265                          北京新云南皇冠假日酒店    4.7    /hotel/430265.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_17                                                   朝阳区东北三环西坝河太阳宫桥东北角云南大厦。 ( 国展中心地区)
42    5659815                        北京三里屯通盈中心洲际酒店    4.7   /hotel/5659815.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_18                                              朝阳区南三里屯1号楼,近工体北街。 ( 东直门、工体、雍和宫地区国贸地区)
43    9215536                             北京泛太平洋酒店    4.7   /hotel/9215536.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_19                                      西城区华远街2号,近地铁1号线西单站A口出,4号线西单站F2口出。 ( 西单、金融街地区)
44     732835                            北京友谊宾馆贵宾楼    4.7    /hotel/732835.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_20                                                   海淀区中关村南大街1号贵宾楼,近校园北路。 ( 中关村、五道口)
45    6182624                           北京格兰云天国际酒店    4.7   /hotel/6182624.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_21                                    大兴区亦庄经济技术开发区荣华南路15号中航技广场10号楼,近同仁医院(南区)。 ( 亦庄地区)
46    7008001                           北京海湾半山温泉酒店    4.7   /hotel/7008001.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_22                                                          密云区密溪路36号,近密云水库。 ( 密云风景区)
47     427952                            北京金隅喜来登酒店    4.7    /hotel/427952.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_23                                              东城区北三环东路36号,近地铁5号线和平西桥站A口。 ( 马甸、安贞地区)
48     535068                               北京蔓兰酒店    4.7    /hotel/535068.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_24                                   东城区东直门外香河园路1号当代MOMA内T6号楼,近左家庄西街、工体、簋街。 ( 国展中心地区)
49     374792                             北京王府半岛酒店    4.7    /hotel/374792.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_25                                                 东城区王府井金鱼胡同8号,近王府井步行街。 ( 天安门、王府井地区)
50     661166                               北京丽苑公寓    4.7     /hotel/661166.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_1                                                  东城区王府井金鱼胡同18号,近协和医院。 ( 天安门、王府井地区)
51    1171744                          北京东方美高美国际酒店    4.7    /hotel/1171744.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_2                                                           丰台区文林北街2号,近良三路。 ( 房山风景区)
52    9371514                          北京东直门雅辰悦居酒店    4.7    /hotel/9371514.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_3                                     东城区香河园街1号院11号楼,近机场高速。 ( 东直门、工体、雍和宫地区燕莎、三里屯商业区)
53     387040                         北京金融街丽思卡尔顿酒店    4.7     /hotel/387040.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_4                                                 西城区金融街金城坊东街1号,太平桥大街路口。 ( 西单、金融街地区)
54     419951                               北京柏悦酒店    4.7     /hotel/419951.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_5                                                     朝阳区建国门外大街2号,近国贸立交桥西南角。 ( 国贸地区)
55     440874                               北京怡亨酒店    4.7     /hotel/440874.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_6                                                   朝阳区东大桥路9号,近日坛北路。 ( 东直门、工体、雍和宫地区)
56     429118                             北京万豪行政公寓    4.7     /hotel/429118.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_7                                               东城区霞公府街1号北门,近王府井大街、商业街。 ( 天安门、王府井地区)
57   21785802                            北京金融街行政公寓    4.8   /hotel/21785802.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_8                                                   西城区金融大街乙9号。 ( 西单、金融街地区天安门、王府井地区)
58    6806947                              北京宝格丽酒店    4.7    /hotel/6806947.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_9                                            朝阳区新源南路8号院2号楼,近地铁10号线亮马桥站。 ( 燕莎、三里屯商业区)
59    6057426                   欢墅·度假别墅(北京古北长城源著店)    4.7   /hotel/6057426.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_10                     密云区古北水镇国际旅游度假区龙湖长城源著小区内,近古北水镇、大广高速京承段司马台收费站、古北水镇售票大厅。 ( 密云风景区)
60     374781                               北京首都宾馆    4.6    /hotel/374781.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_11                                                      东城区前门东大街3号,近正义路。 ( 天安门、王府井地区)
61     385114                              北京千禧大酒店    4.6    /hotel/385114.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_12                                                          朝阳区东三环中路7号,近财富中心。 ( 国贸地区)
62     427091                            北京鹏润国际大酒店    4.6    /hotel/427091.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_13                                           朝阳区霄云路26号,近天泽路。 ( 燕莎、三里屯商业区望京、酒仙桥、798地区)
63     429037                          北京远通维景国际大酒店    4.6    /hotel/429037.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_14                                                     西城区平安里西大街30号,近官园桥。 ( 西单、金融街地区)
64     419461                             北京天伦王朝酒店    4.6    /hotel/419461.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_15                                                东城区王府井大街50号,近天主教堂、天安门。 ( 天安门、王府井地区)
65     426113                            北京世纪金源大饭店    4.6    /hotel/426113.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_16                                                海淀区板井路69号,北京四季青桥东北角。 ( 西直门及北京展览馆地区)
66     996471                            北京丰大国际大酒店    4.6    /hotel/996471.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_17                                                   大兴区经济技术开发区荣华中路20号,近荣京东街。 ( 亦庄地区)
67     347426                            北京东方君悦大酒店    4.6    /hotel/347426.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_18                                                 东城区长安街1号东方广场,北京东方广场内。 ( 天安门、王府井地区)
68     608421                          北京国家会议中心大酒店    4.6    /hotel/608421.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_19                                                  朝阳区北辰西路8号院1号楼,近大屯路。 ( 亚运村、奥体中心地区)
69     375511                             北京万达文华酒店    4.6    /hotel/375511.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_20                                                  朝阳区建国路93号万达广场C座,近Soho现代城。 ( 国贸地区)
70     375093                 北京首都机场东海康得思酒店(原朗豪酒店)    4.6    /hotel/375093.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_21                                            顺义区首都机场三号航站楼一经路1号,近T3航站楼。 ( 首都机场、新国展地区)
71     634858                              北京新世界酒店    4.6    /hotel/634858.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_22                                                     东城区祈年大街8号,近东打磨厂街。 ( 前门、崇文门商贸区)
72    4889269                            北京维景国际大酒店    4.6   /hotel/4889269.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_23                                                         朝阳区北三环东路2号,近三元桥。 ( 国展中心地区)
73     429548                             北京香格里拉饭店    4.6    /hotel/429548.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_24                                                  海淀区紫竹院路29号,紫竹桥西北侧。 ( 西直门及北京展览馆地区)
74     483697                         北京世纪金源香山商旅酒店    4.6    /hotel/483697.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_25                                                   海淀区北正黄旗59号,近香山公园东门。 ( 香山、八大处风景区)
75     749504                             北京百富怡大酒店    4.6     /hotel/749504.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_1                                          东城区东直门外大街南二里庄19号,近东直门外小街。 ( 东直门、工体、雍和宫地区)
76     431636                           北京北大博雅国际酒店    4.6     /hotel/431636.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_2                                                海淀区中关村北大街127号,近北京大学-资源楼。 ( 中关村、五道口)
77     374795                             北京伯豪瑞廷酒店    4.6     /hotel/374795.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_3                                                            朝阳区光华路15号,近景闻街。 ( 国贸地区)
78     837819                             北京裕龙国际酒店    4.6     /hotel/837819.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_4                                              海淀区阜成路40号,近空军总医院。 ( 公主坟、五棵松、石景山游乐园地区)
79     347308                           北京王府井希尔顿酒店    4.6     /hotel/347308.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_5                                                东城区王府井东街8号,近澳门中心及王府半岛。 ( 天安门、王府井地区)
80     452641                               北京日坛宾馆    4.6     /hotel/452641.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_6                                                     朝阳区日坛路1号,近雅宝路。 ( 东直门、工体、雍和宫地区)
81     661096                         北京凯迪克格兰云天大酒店    4.6     /hotel/661096.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_7                                            朝阳区北辰东路18号(近北京奥运会主会场-鸟巢)。 ( 亚运村、奥体中心地区)
82     427497                               北京人卫酒店    4.6     /hotel/427497.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_8                                                朝阳区潘家园南里19号,潘家园路西口近二环路。 ( 劲松、潘家园地区)
83     419961                               北京饭店诺金    4.6     /hotel/419961.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_9                                                    东城区东长安街33号,近王府井大街。 ( 天安门、王府井地区)
84     431874                              北京康莱德酒店    4.6    /hotel/431874.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_10                                                     朝阳区东三环北路29号,近呼家楼。 ( 燕莎、三里屯商业区)
85    1286148                          北京长安街天府尊雅酒店    4.6   /hotel/1286148.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_11                                                朝阳区建国门南大街2号,近建外大街。 ( 北京站、建国门地区国贸地区)
86     430210                             北京北辰洲际酒店    4.6    /hotel/430210.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_12                                                朝阳区北辰西路8号院4号楼,近亚运村鸟巢。 ( 亚运村、奥体中心地区)
87     430270                          北京中关村皇冠假日酒店    4.6    /hotel/430270.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_13                                                      海淀区知春路106号,近中关村大街。 ( 中关村、五道口)
88     431373                                 湖南大厦    4.6    /hotel/431373.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_14                                                      东城区北京站前街9号,近北京站。 ( 北京站、建国门地区)
89     997715                           北京粤财JW万豪酒店    4.6    /hotel/997715.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_15                                                 西城区宣武门外大街18号,近2号线宣武门站。 ( 西单、金融街地区)
90    1171705                             北京金茂万丽酒店    4.6   /hotel/1171705.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_16                                              东城区王府井大街57号,近地铁5、6号线东四站。 ( 天安门、王府井地区)
91   11064228                               北京一瓢客栈    4.8  /hotel/11064228.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_17                                       门头沟区潭柘寺镇紫旸山庄五区九号一瓢客栈,近潭王路。 ( 门头沟、潭柘寺、妙峰山风景区)
92    5470464                          北京三里屯CHAO酒店    4.6   /hotel/5470464.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_18                                 朝阳区工人体育场东路4号(中国红街内100米),近工人体育场北路口。 ( 东直门、工体、雍和宫地区)
93     429047                       北京雅诗阁来福士中心服务公寓    4.7    /hotel/429047.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_19                                             东城区东直门南大街1-2号,近东直门内大街。 ( 东直门、工体、雍和宫地区)
94     447622                           北京益田影人花园酒店    4.6    /hotel/447622.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_20                                         怀柔区杨宋镇怀耿路122号(中影基地东侧),近杨雁路、雁栖湖景区。 ( 怀柔风景区)
95     426782                              北京星河湾酒店    4.6    /hotel/426782.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_21                                          朝阳区四季星河路六号,近朝阳大悦城,毗邻地铁六号线青年路站B出口。 ( 国贸地区)
96    6410223                               北京赛特饭店    4.6   /hotel/6410223.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_22                                             朝阳区建国门外大街22号,赛特购物中心旁。 ( 北京站、建国门地区国贸地区)
97    1216806                        北京汇园酒店公寓(贵宾楼)    4.6   /hotel/1216806.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_23                                            朝阳区安定门外北辰东路8号,北京国际会议中心北侧。 ( 亚运村、奥体中心地区)
98     533005                            北京和园景逸大酒店    4.6    /hotel/533005.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_24                        顺义区后沙峪镇边河路57号院二区,京承高速出京方向火沙路出口,新国展天北路。 ( 顺义温泉休闲区首都机场、新国展地区)
99     429206                                 北京瑜舍    4.6    /hotel/429206.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_25                                   朝阳区三里屯路11号院1号楼,近地铁团结湖站。 ( 东直门、工体、雍和宫地区燕莎、三里屯商业区)
100    457205                             北京东升凯莱酒店    4.6     /hotel/457205.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_1                                                海淀区西小口路66号中关村东升科技园C-6。 ( 上地产业园、西三旗)
101    895549                 北京龙城温德姆酒店(原龙城丽宫国际酒店)    4.6     /hotel/895549.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_2                                              昌平区昌平路317号,近北清路。 ( 小汤山温泉度假区上地产业园、西三旗)
102   5293705                         北京龙熙维景国际会议中心    4.6    /hotel/5293705.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_3                                                大兴区隆华大街55号院7号楼,近庞各庄出口。 ( 大兴农业生态观光区)
103    427006                           北京海航大厦万豪酒店    4.6     /hotel/427006.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_4                                                     朝阳区霄云路甲26号,近鹏润大厦。 ( 燕莎、三里屯商业区)
104    374773                            北京雅诗阁服务公寓    4.6     /hotel/374773.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_5                                                          朝阳区建国路乙108号,近招商局。 ( 国贸地区)
105    431639                                 北京饭店    4.5     /hotel/431639.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_6                                                    东城区东长安街33号,近王府井大街。 ( 天安门、王府井地区)
106    426840                           北京紫檀万豪行政公寓    4.6     /hotel/426840.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_7                                                        朝阳区建国路23号,近中国紫檀博物馆。 ( 国贸地区)
107    374783                             北京唐拉雅秀酒店    4.5     /hotel/374783.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_8                                                西城区西长安街复兴门外大街19号,近长安商场。 ( 西单、金融街地区)
108    440888                               北京西苑饭店    4.5     /hotel/440888.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_9                                           海淀区三里河路1号,近北京首都体育馆和北京动物园。 ( 西直门及北京展览馆地区)
109    427870                               北京国际饭店    4.5    /hotel/427870.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_10                                                 东城区建国门内大街9号,北京火车站正对面。 ( 北京站、建国门地区)
110    436911                             北京颐和安缦酒店    4.6    /hotel/436911.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_11                                            海淀区颐和园宫门前街1号,近颐和园路。 ( 中关村、五道口香山、八大处风景区)
111  19453785                             北京望京凯悦酒店    4.6  /hotel/19453785.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_12                       朝阳区广顺南大街8号院2号楼(利星行中心),近利星行中心、步行10分钟可达望京SOHO。 ( 望京、酒仙桥、798地区)
112    434120                               北京辽宁大厦    4.5    /hotel/434120.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_13                                                     海淀区北四环西路甲2号,近北四环西路。 ( 中关村、五道口)
113    375096                         北京北辰五洲皇冠国际酒店    4.5    /hotel/375096.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_14                                            朝阳区北四环中路8号,亚运村北京国际会议中心东侧。 ( 亚运村、奥体中心地区)
114    431632                               北京国宾酒店    4.5    /hotel/431632.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_15                                             西城区阜成门外大街甲9号,近阜外心血管病医院。 ( 西直门及北京展览馆地区)
115    375098                             北京中航泊悦酒店    4.5    /hotel/375098.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_16                                                     朝阳区霄云路36号,京信大厦附近。 ( 燕莎、三里屯商业区)
116  21132087                            北京乐多港万豪酒店    4.6  /hotel/21132087.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_17                                           昌平区城南街道南口路29号。 ( 十三陵水库、居庸关长城风景区小汤山温泉度假区)
117    430004                           北京富力万达嘉华酒店    4.5    /hotel/430004.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_18                                         石景山区石景山路甲18号1号楼,近石景山路。 ( 公主坟、五棵松、石景山游乐园地区)
118    452197                            北京丽景湾国际酒店    4.5    /hotel/452197.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_19                                      朝阳区东四环十里堡北里28号,近朝阳北路农民日报社往南。 ( 国贸地区燕莎、三里屯商业区)
119   1085773                             北京东方美爵酒店    4.5   /hotel/1085773.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_20                                               东城区交道口东大街101号,近安内大街。 ( 东直门、工体、雍和宫地区)
120    419993                               北京华侨大厦    4.5    /hotel/419993.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_21                                                     东城区王府井大街2号,近世都百货。 ( 天安门、王府井地区)
121    918302                             北京钓鱼台大酒店    4.6    /hotel/918302.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_22                                      海淀区三里河路49号,近月坛南街。 ( 公主坟、五棵松、石景山游乐园地区西单、金融街地区)
122    429111                            北京名人国际大酒店    4.5    /hotel/429111.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_23                                                 朝阳区安立路99号,北辰购物中心西北侧。 ( 亚运村、奥体中心地区)
123    427874                             北京好苑建国酒店    4.5    /hotel/427874.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_24                                              东城区建国门内大街17号,近长安街北侧华夏银行。 ( 北京站、建国门地区)
124    347312                         北京燕莎中心凯宾斯基饭店    4.5    /hotel/347312.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_25                                            朝阳区亮马桥路50号,近燕莎友谊商城三元桥东北方向。 ( 燕莎、三里屯商业区)
125    430601                        北京海淀永泰福朋喜来登酒店    4.5     /hotel/430601.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_1                                                  海淀区远大路25号1座,近世纪金源购物中心。 ( 中关村、五道口)
126   1373748                             北京万世名流酒店    4.5    /hotel/1373748.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_2                                         朝阳区北苑东路顾家庄桥北300米北苑中街,北苑东路以西。 ( 亚运村、奥体中心地区)
127    482816                               北京昆泰酒店    4.5     /hotel/482816.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_3                      朝阳区望京启阳路2号,临近地铁15号线,望京东站,B东北口出,大约500米,步行约5分钟。 ( 望京、酒仙桥、798地区)
128    396425                              北京亚洲大酒店    4.5     /hotel/396425.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_4                                              东城区工体北路新中西街8号,近工人体育馆。 ( 东直门、工体、雍和宫地区)
129    430008                            北京兴基铂尔曼饭店    4.5     /hotel/430008.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_5                                                   大兴区经济技术开发区荣华南路12号,近京东总部。 ( 亦庄地区)
130    436066                          北京瑞麟湾温泉度假酒店    4.5     /hotel/436066.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_6                                                  顺义区南彩镇顺平辅路39号,近南彩汽车总站。 ( 顺义温泉休闲区)
131    374775                               北京璞邸酒店    4.5     /hotel/374775.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_7                                         东城区建国门南大街7号,近北京古观象台。 ( 北京站、建国门地区天安门、王府井地区)
132    468844                              北京大成路九号    4.5     /hotel/468844.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_8                    丰台区郑常庄大成路九号,近北京301医院及302医院。 ( 公主坟、五棵松、石景山游乐园地区总部基地、丰台体育中心、南宫地区)
133   1049363                           北京龙湾国际露营公园    4.5    /hotel/1049363.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_9                      延庆区旧县镇东龙湾村南200米,百里画廊龙庆峡、木质别墅房车、烧烤聊天逗狗,素有“北京后花园”美誉。 ( 延庆休闲度假区)
134    454991                            北京锦江富园大酒店    4.5    /hotel/454991.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_10                                                   大兴区经济技术开发区荣华中路11号,近天华南街。 ( 亦庄地区)
135    457701                             北京丽维赛德酒店    4.5    /hotel/457701.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_11                                丰台区射击场路15号,第九届中国(北京)国际园林博览会主展馆。 ( 总部基地、丰台体育中心、南宫地区)
136    430250                            北京海淀雅乐轩酒店    4.5    /hotel/430250.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_12                                                    海淀区远大路25号B座,近世纪金源商城。 ( 中关村、五道口)
137   3663441                          北京新华联丽景温泉酒店    4.5   /hotel/3663441.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_13                                          顺义区李遂镇宣庄户中街111号,近501乡道与李魏路交叉口。 ( 顺义温泉休闲区)
138    428586                            北京新世纪日航饭店    4.4    /hotel/428586.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_14                                                海淀区首体南路6号,北京首都体育馆对面。 ( 西直门及北京展览馆地区)
139    347310                     北京长城饭店(原喜来登长城饭店)    4.4    /hotel/347310.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_15                                                朝阳区东三环北路10号,近燕莎商城。 ( 燕莎、三里屯商业区国贸地区)
140    369745                            北京希尔顿逸林酒店    4.4    /hotel/369745.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_16                               西城区广安门外大街168号,近广安门华联商厦、地铁7号线达官营站(C出口)。 ( 北京西站、丽泽商务区)
141    431617                            北京长白山国际酒店    4.4    /hotel/431617.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_17                                 朝阳区亚运村安苑北里25号,近奥林匹克体育中心。 ( 亚运村、奥体中心地区望京、酒仙桥、798地区)
142    385119                         北京国际艺苑皇冠假日酒店    4.4    /hotel/385119.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_18                                                  东城区王府井大街48号,近世都百货东侧。 ( 天安门、王府井地区)
143    347414                              北京希尔顿酒店    4.4    /hotel/347414.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_19                                              朝阳区东三环北路东方路1号,燕莎桥/三元桥交界。 ( 燕莎、三里屯商业区)
144  17906234                          北京大红门国际会展中心    4.6  /hotel/17906234.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_20                                                     丰台区南苑路138号。 ( 永定门、南站、大红门、南苑地区)
145    431634                             北京文津国际酒店    4.4    /hotel/431634.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_21                                           海淀区中关村东路一号院5号楼(清华大学南门外),近成府路。 ( 中关村、五道口)
146    445313                             北京西国贸大酒店    4.4    /hotel/445313.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_22                                   丰台区丰管路16号8号楼,丰益桥西。 ( 北京西站、丽泽商务区总部基地、丰台体育中心、南宫地区)
147   1273120                             北京君颐润华酒店    4.4   /hotel/1273120.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_23                            丰台区丰管路20号院,丰管路与南三环辅路交叉路口。 ( 北京西站、丽泽商务区总部基地、丰台体育中心、南宫地区)
148    669249                           北京京广中心酒店公寓    4.4    /hotel/669249.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_24                                                  朝阳区朝阳门外大街1号京广中心呼家楼,京广桥西侧。 ( 国贸地区)
149    456474                            北京在之禾度假酒店    4.4    /hotel/456474.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_25                                             朝阳区紫玉东路1号,安立路与科荟路交叉路口东侧。 ( 亚运村、奥体中心地区)
150    848787                             北京前门皇家驿栈    4.4     /hotel/848787.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_1                                             东城区前门商业区鲜鱼口街87号,与北晓顺胡同交汇。 ( 前门、崇文门商贸区)
151    431897                            北京涵珍园国际酒店    4.4     /hotel/431897.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_2                             东城区交道口南大街秦老胡同20号,近地铁6号线、8号线南锣鼓巷站及中央戏剧学院站。 ( 后海、南锣鼓巷地区)
152    427292                          长安大饭店(陕西大厦)    4.3     /hotel/427292.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_3                                                   朝阳区华威里27号,近潘家园古玩城南门。 ( 劲松、潘家园地区)
153    439311                               北京渔阳饭店    4.3     /hotel/439311.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_4                                   朝阳区新源西里中街18号,近韩国、德国大使馆。 ( 东直门、工体、雍和宫地区燕莎、三里屯商业区)
154    432789                         北京九华山庄贵宾楼大酒店    4.3     /hotel/432789.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_5                                              昌平区小汤山马坊桥东1000米,小汤山农业科技园。 ( 小汤山温泉度假区)
155  21825729                              北京枫烨园酒店    4.9   /hotel/21825729.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_6                                                          海淀区清河路135号。 ( 亚运村、奥体中心地区)
156    429520                           北京京瑞温泉国际酒店    4.2     /hotel/429520.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_7                                                  朝阳区东三环南路17号,近东南三环华威桥。 ( 劲松、潘家园地区)
157    427664                         北京奥克伍德华庭酒店公寓    4.4     /hotel/427664.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_8                                                朝阳区东直门外斜街8号,近新源里东街。 ( 东直门、工体、雍和宫地区)
158    742641                           北京瑞海姆田园度假村    4.2     /hotel/742641.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_9                                                         密云区西大桥路2号,近密云县法院。 ( 密云风景区)
159   1960270                             北京海德温泉酒店    4.2   /hotel/1960270.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_10                                                          朝阳区青年路西里1号,近姚家园路。 ( 国贸地区)
160    436059                           北京南宫温泉度假酒店    4.1    /hotel/436059.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_11                                             丰台区王佐镇福宫路39号,王佐路口。 ( 总部基地、丰台体育中心、南宫地区)
161    427267                               北京温都水城    3.9    /hotel/427267.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_12                                                     昌平区七家镇宏福创业园,近中国移动。 ( 小汤山温泉度假区)
162  21793989                               北京精品别墅    4.6  /hotel/21793989.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_13                                    怀柔区雁栖湖西路2号院14号楼,雁栖湖雁栖岛、红螺寺、青龙峡、凯宾斯基集团。 ( 怀柔风景区)
163   4495986                      北京华彬庄园绿色休闲健身俱乐部    4.0   /hotel/4495986.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_14                                                  昌平区南口华彬庄园,近水南路。 ( 十三陵水库、居庸关长城风景区)
164  11214450                        北京欢聚party独栋别墅    0.0  /hotel/11214450.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_15                                    大兴区京开高速庞各庄出口南1000米龙熙温泉旁富力丹麦小镇,马北路。 ( 大兴农业生态观光区)
165   8512088  北京嘉华home party独栋别墅(G4501(北京六环高速)分店)    0.0   /hotel/8512088.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_16                                                         昌平区林溪别墅社区,近沙河。 ( 小汤山温泉度假区)
166  28704027                               北京璞瑄酒店    0.0  /hotel/28704027.html?isFull=F#ctm_ref=hod_sr_map_dl_txt_17                                                           东城区王府井大街1号。 ( 天安门、王府井地区)
167   1047921                              古北水镇大酒店    4.7   /hotel/1047921.html?isFull=T#ctm_ref=hod_sr_map_dl_txt_18                                                     密云区古北口镇司马台村,近古北水镇售票处。 ( 密云风景区)
168  17542298                         古北水镇函谷山庄精品酒店    4.7  /hotel/17542298.html?isFull=T#ctm_ref=hod_sr_map_dl_txt_19                                               密云区司马台村古北水镇风景区内16号,古北水镇景区内。 ( 密云风景区)
169    428559                               北京九华山庄    4.1    /hotel/428559.html?isFull=T#ctm_ref=hod_sr_map_dl_txt_20                                    昌平区小汤山沙顺路75号九华山庄(客房部前台办理入住),近大柳树环岛。 ( 小汤山温泉度假区)
170   8499212                          北京华尔道夫胡同四合院    4.7   /hotel/8499212.html?isFull=T#ctm_ref=hod_sr_map_dl_txt_21                                               东城区西堂子胡同17-19号,近王府井商业区。 ( 天安门、王府井地区)
171  25690248                          北京佳兆业铂域行政公寓    4.6  /hotel/25690248.html?isFull=T#ctm_ref=hod_sr_map_dl_txt_22

2. 输入要查询的酒店索引。

1)若查询“北京朝林松源酒店”,输入其在第1步中显示的序号0,显示结果:

《Python3 爬取携程网[2]: 爬取北京五星级酒店详细信息》

2)若查询“北京瑜舍”,输入其在第1步中显示的序号99,显示结果:

《Python3 爬取携程网[2]: 爬取北京五星级酒店详细信息》

3. 超出查询范围输入反馈结果:

2.1 If you find to search the detail hotel information, please input the hotel index in the DataFrame.
2.2 If you want to quit, input 'q'.
Please input the Parameter: 
200
Hotel Index out of range! 
Remember: 0 <= Hotel Index <= 170
Please input again.

4. 退出循环结果显示:

2.1 If you find to search the detail hotel information, please input the hotel index in the DataFrame.
2.2 If you want to quit, input 'q'.
Please input the Parameter: 
q
See you later!

Process finished with exit code 0

 

5. 总结

  1. 本篇文章在上一篇文章的基础上,实现了对北京五星级酒店详细信息的爬取展示;
  2. Python3 爬取携程网[1] 和这篇文章主要是为了锻炼获取数据的能力,为下一步进行数据预处理、数据分析等工作提供原始数据;
  3. 这两篇文章的完整代码存放于我的Github中,有需要的朋友可以自行下载。
  4. 本人才疏学浅,阅读博客时有什么问题或意见可以在评论区给我留言,大家共同学习、共同进步。如果喜欢我的文章和代码,可以给我的博客点个赞,或者在Github的右上角给我点个star。谢谢大家!

 

    原文作者:icmp_no_request
    原文地址: https://blog.csdn.net/pandalaiscu/article/details/87720709
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞