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. 打開攜程網

    填寫目的地北京、入住日期、退房日期,勾選五星級酒店,並按好評優先順序排列,就可以呈現北京五星級酒店列表。分析頁面工作以排名第一的“北京朝林松源酒店”爲例,進行講解。

                                                                                圖1 北京五星級酒店列表

2. 分析酒店詳情

我們想要爬取的是“房型列表”這一信息,如圖2所示。

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

爬取房型名稱、牀型、最低價、入住人數、房間詳情等具體信息,然後用Pandas.DataFrame進行展示。

通過文章[1],我們知道,想要獲取房型列表,需要尋找其網絡接口。通過Chrome瀏覽器的“檢查”中的“網絡”,找到其網絡接口,“html”中就包含房型列表等我們需要的信息。

                                                                                     圖3 尋找房型列表接口

 

3.2 請求

通過找到的房型列表接口,我們只要請求其接口,解析返回的響應就可以獲取需要的信息。從請求頭可看出,請求的URL如圖4所示:

                                                                                           圖4 請求URL

這裏簡單補充一下URL的知識。URL中文名爲統一資源定位符,它代表着互聯網上標準資源的地址,具有唯一性。URL結構如圖5所示:

                                                                                      圖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代碼。

                                                                                圖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'<[^>]+>')

for idx in range(len(rooms)):
    if rooms[idx].has_attr(key='data-baseroominfo'):
        room_info_str = rooms[idx]['data-baseroominfo']

        ## Error
        # TypeError String indices must be integers

        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)
        print(remove_tag)

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

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

3.3.3 整合爲Pandas.DataFrame對象

3.3.2 完成了對信息的提取,本部分內容將提取的列表整合爲一個矩陣,然後用Pandas.DataFrame進行展示。

# Combine the lists as an array
RoomInfo = np.array((RoomID, RoomName, LowPrice, RoomSize, RoomLevel, IsSmoking, BedSize, CustomerNum)).T
# Create a DataFrame object
df = pd.DataFrame(data=RoomInfo, columns=['RoomID', 'RoomName', 'LowPrice', 'RoomSiae', 'RoomLevel', 'IsSmoking', 'BedSize', 'CustomerNum'])
print(df)

# Result
'''
RoomID RoomName LowPrice RoomSiae RoomLevel IsSmoking     BedSize CustomerNum
0  27541229    豪華大牀房   1609.0    40平方米      3-8層      不可吸菸     1張2米雙人牀          2人
1  27541231    豪華雙牀房   1609.0    40平方米      3-8層      不可吸菸  2張1.35米單人牀        不可加牀
2  27541233   豪華商務套房   3429.0    80平方米      3-5層      不可吸菸     1張2米雙人牀          2人
3  33300631  豪華商務大牀房   1839.0    46平方米    3、5-8層      不可吸菸     1張2米雙人牀          2人
4  33300678   奢華特色套房   5459.0    80平方米      3、5層      不可吸菸     1張2米雙人牀          2人
5  37303662    高級大牀房   1062.0    35平方米     3-10層      不可吸菸     1張2米雙人牀        不可加牀
6  79467148   豪華公寓套房   3856.0    80平方米        9層      不可吸菸     1張2米特大牀          2人
7  79467149   至尊公寓套房   6438.0    80平方米       11層      不可吸菸     1張2米特大牀          2人
'''

 

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 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 = []
    IsSmoking = []
    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("|")
            RoomSize.append(RoomDetailInfo[0])
            RoomLevel.append(RoomDetailInfo[1])
            IsSmoking.append(RoomDetailInfo[2])
            BedSize.append(RoomDetailInfo[3])
            CustomerNum.append(RoomDetailInfo[4])
        else:
            continue

    RoomInfo = np.array((RoomID, RoomName, LowPrice, RoomSize, RoomLevel, IsSmoking, BedSize, CustomerNum)).T
    # print(RoomInfo)
    df = pd.DataFrame(data=RoomInfo,
                      columns=['RoomID', 'RoomName', 'LowPrice', 'RoomSiae', 'RoomLevel', 'IsSmoking', 'BedSize',
                               'CustomerNum'])
    print(df)


if __name__ == "__main__":

    # 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,顯示結果:

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: 
0
3. The detail information of the Hotel:
     RoomID RoomName LowPrice RoomSiae RoomLevel IsSmoking     BedSize CustomerNum
0  27541229    豪華大牀房   1609.0    40平方米      3-8層      不可吸菸     1張2米雙人牀          2人
1  27541231    豪華雙牀房   1609.0    40平方米      3-8層      不可吸菸  2張1.35米單人牀        不可加牀
2  27541233   豪華商務套房   3429.0    80平方米      3-5層      不可吸菸     1張2米雙人牀          2人
3  33300631  豪華商務大牀房   1839.0    46平方米    3、5-8層      不可吸菸     1張2米雙人牀          2人
4  33300678   奢華特色套房   5459.0    80平方米      3、5層      不可吸菸     1張2米雙人牀          2人
5  37303662    高級大牀房   1062.0    35平方米     3-10層      不可吸菸     1張2米雙人牀        不可加牀
6  79467148   豪華公寓套房   3856.0    80平方米        9層      不可吸菸     1張2米特大牀          2人
7  79467149   至尊公寓套房   6438.0    80平方米       11層      不可吸菸     1張2米特大牀          2人

2)若查詢“北京華爾道夫衚衕四合院酒店”,輸入其在第1步中顯示的序號170,顯示結果:

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: 
170
3. The detail information of the Hotel:
     RoomID RoomName LowPrice RoomSiae RoomLevel IsSmoking              BedSize CustomerNum
0  42230406    四合院套房   6565.0   100平方米        1層      不可吸菸              1張2米特大牀          2人
1  42230409  四合院雙臥套房   7730.0   121平方米        2層      不可吸菸  1張1.2米上下鋪 和 1張2米特大牀          4人

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。謝謝大家!

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章