國慶長假遊玩人次達6.37億人次,這麼多人都到哪兒去玩了呢?

2020-10-16 Python123

本文的文字及圖片來源於網絡,僅供學習、交流使用,不具有任何商業用途,版權歸原作者所有,如有問題請及時聯繫我們以作處理

前言

2020 註定是不平凡的一年,一開年就被新冠疫情來了當頭一棒,一瞬間大家都不約而同的採取家裡蹲策略,在政府的得力領導下,全部人民上下一條心,到了四五月份終於將疫情穩定控制住了,時隔半年,國內疫情早已趨於穩定,人們的生活也基本恢復正常。

恰逢國慶中秋兩個節日重合,在家憋這麼久的人們怎麼能不出去看看祖國的大好河山。據新華網消息,整個國慶長假外出遊玩人次達 6.37 億人次,那麼這麼多人都到哪兒去玩了呢,今天我們就用 Python 做一個全國熱門景區熱點圖。

整體思路

我們的思路是,在中國地圖上標註出熱門景點,通過該熱點圖我們可以一眼看出哪些城市和地區最熱門,也就意味著那個地區人是最多的。

那麼我們就必須獲取到全國的旅遊數據,最簡單的思路就是從第三方旅遊網站看下哪些景點的門票賣的最多最好,而最常用的網站就是飛豬、攜程、去哪兒等。

有了數據來源之後就要想辦法將網站的數據通過爬蟲的方式爬取下來,之後再對爬取到的數據做清洗、過濾、整理。最後就將格式匹配的數據直接在地圖上展示出來即可。

網站獲取

經過對比幾個第三方旅遊網站,發現去哪兒網有一個「熱門景點」的內頁,在首頁輸入框直接輸入「熱門景點」即可直達該頁面。該網站還將這些熱門景點進行了分類,比如人文景觀,城市風貌,古建築等。同時我們需要的景點名稱,城市,景區級別以及景區地址等信息都可以從該頁面獲取得到。

打開去哪兒網,首頁輸入「熱門景點」仔細觀察頁面最上方的 URL 你會發現驚喜。其中 subject 就是景點主題,而 page 看樣子則是頁碼,點擊下一頁驗證一下,page 變成 2 了,沒猜錯。

不需要太多的數據,因此我們在每一個主題下面只取前十頁的數據就可以了。

分析完 URL 之後,再來看看數據從什麼地方獲取的,切換到瀏覽器開發者模式,瀏覽下我們發現所有的景點數據都在一個叫做 」search-list「 的 div 中。針對單個景點,其數據是在一個 class = 『sight_item』 的 div 中。接下來就是解析頁面原屬,將景點,省市,時間,熱度等數據做分析。

數據獲取

數據源頭已經分析完畢,接下來就可以開始我們的爬蟲編碼了,首先定義好我們的準備獲取全國景點的主題。為了方便後續操作,我們可以將解析好的數據保存到 csv 文件中。

subjects = ['文化古蹟', '自然風光', '農家度假', '遊樂場', '展館', '古建築', '城市觀光']excel_file = open('data.csv', 'w', encoding='utf-8', newline='')writer = csv.writer(excel_file)writer.writerow(['名稱', '城市', '類型', '級別', '熱度', '地址'])

其次我們需要一個下載網頁內容的函數,該函數接受一個 URL 參數,之後返回該 URL 對應的網頁內容,同時為了更真實的模擬瀏覽器請求,需要添加 Headers。

headers = {    'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',    'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36',    'accept-encoding': 'gzip, deflate, br',    'accept-language': 'zh-CN,zh;q=0.9,en;q=0.8',    'referer': 'https://piao.qunar.com/',    'cookie': 'xxxyyyzzz...'}def get_page_html(url):    try:        response = requests.get(url, headers=headers)        if response.status_code == 200:            return response.text        return None    except RequestException:        return None

獲取到內容之後,我們還需要一個解析函數,該函數接收一個網頁文本,然後將我們所需要的「名稱, 城市, 類型, 級別, 熱度, 地址」信息解析出來,並寫入 csv 文件。

def parse_content(content, subject):    if not content:        return;    soup = BeautifulSoup(content, "html.parser")    search_list = soup.find(id='search-list')    items = search_list.find_all('div', class_="sight_item")    for item in items:        name = item['data-sight-name']        districts = item['data-districts']        address = item['data-address']        level = item.find('span', class_='level')        level = level.text if level else ''        star = item.find('span', class_='product_star_level')        star = star.text if star else ''        writer.writerow([name, districts, subject, level, star, address])

至此我們已經準備好,下載函數,解析函數,現在只需要直接遍歷主題,拼接 URL 調用相關函數即可。為了防止被禁封 IP,每次請求之後讓程序暫停 5 秒。

def get_data():    for subject in subjects:        for page in range(10):            page = page + 1            url = F'https://piao.qunar.com/ticket/list.htm?keyword=熱門景點®ion=&from=mps_search_suggest&subject={subject}&page={page}&sku='            print(url)            content = get_page_html(url)            parse_content(content, subject, url)            time.sleep(5)if __name__ == '__main__':    get_data()

最後執行 main 入口函數來運行程序,來看看我們搜集到的數據。

結果展示

獲取到全國的旅遊數據之後,就可以開始分析了。為了讓操作方便,引入 pandas,先仔細看下我們的數據格式。首先熱度一列裡面含有中文,需要分割,其次因為熱度數值是小數不方便操作,因此我們決定將熱度擴大 1000 倍,因為是整體擴大了 1000 倍,因此並不會影響分析結果。

之後我們需要解析出該景點所在的城市。同樣是分割字符串。同時因為還有一些地點是地圖無法識別的,所以要去除。

data = []with open('data.csv', 'r') as f:    reader = csv.reader(f)    header = next(reader)    for row in reader:        data.append(row)df_data = []for row in data:    city = row[1].split('·')[1]    if city in ['保亭', '德宏', '湘西', '陵水', '黔東南', '黔南']:        continue    star = row[4].split('熱度')[1].strip()    star = int(float(star) * 1000)    df_data.append([row[0], city, row[3], star])df = pd.DataFrame(df_data, columns=['name', 'city', 'level', 'star'])

數據準備妥當,繪製熱點圖。

data = df.groupby(by=['city'])['star'].sum()citys = list(data.index)city_stars = list(data)data = [list(z) for z in zip(citys, city_stars)]geo = (    Geo()    .add_schema(maptype="china")    .add(        "熱點圖",    #圖題        data,        type_=ChartType.HEATMAP,   #地圖類型    )    .set_series_opts(label_opts=opts.LabelOpts(is_show=False))  #設置是否顯示標籤    .set_global_opts(            visualmap_opts=opts.VisualMapOpts(max_ = 5000),    #設置legend顯示的最大值            title_opts=opts.TitleOpts(title=""),   #左上角標題    ))geo.render_notebook()

從上圖可以看出,東南沿海,北京周邊以及雲南四川是比較熱門的地區。

再來看看 TOP 15 的熱點旅遊城市:

再來看看 TOP 10 的熱點旅遊景區:

總結

今天我們對去哪兒的國慶熱門景點進行了抓取和分析,一整套流程下來還是涉及到不少東西。包括網站分析,數據抓取和清洗以及圖標展示。尤其是網頁元素分析,需要多點耐心。

分析結果也比較符合預期,風景建築類地點比較多人想去,畢竟大城市的人天天待格子間,趁著長假多去戶外呼吸呼吸新鮮空氣,其次北京、上海、杭州、成都等大都市依然很受歡迎。

因為疫情,國慶節可以說是 2020 的第一個旅遊黃金周了,就在國外還在為疫情苦苦發愁的時刻,我們的客運航運已經恢復的差不多了,同時為了刺激消費,各個地方政府接連發放各種優惠券,外出遊玩的小夥伴們也算是奉旨出遊,為我國經濟增長貢獻了自己的力量。

那麼這個國慶節,你去哪浪了呢?

最後,小編想說:我是一名python開發工程師,整理了一套最新的python系統學習教程,

想要這些資料的可以關注私信小編「01」即可,希望能對你有所幫助.。

相關焦點

  • 6億人次出遊!大家都去哪兒啦?
    有時候真的不能隨便眨眼了……#國慶前7天超6億人次出遊#今天是國慶最後一天了,據文旅部統計最新消息,國慶8天長假期間,全國共接待國內遊客6.38億人次,部分人選擇去了很遠的旅遊景區去遊玩兒。感覺就像是掙脫了束縛一樣,很多人可能五一的時候去遊玩,但由於疫情的原因也只能擱淺了,如今中國疫情防控做得非常棒,大家都憋瘋了!
  • 八天長假期間全國共接待國內遊客6.37億人次 西安上班族你玩得怎麼樣?
    2020年已經過去大半,借著中秋、國慶雙節重疊,人們終於迎來了今年第一個「像樣」的長假,這個假期也給人留下了深刻的印象。最新數據顯示,八天長假期間全國共接待國內遊客6.37億人次。6.37億人次。西安上班族你去哪玩了?過得怎麼樣呢?綜合各地旅遊部門、通訊運營商、線上旅行服務商的數據,經中國旅遊研究院(文化和旅遊部數據中心)測算,八天長假期間,全國共接待國內遊客6.37億人次,按可比口徑同比恢復79.0%;實現國內旅遊收入4665.6億元,按可比口徑同比恢復69.9%。西安等各地多姿多彩的活動,吸引了本地居民和外地遊客,假日消費釋放出活力。
  • 快報 | 國慶大假全國6.37億人次出遊;成都影院票房居全國前列
    資訊 ● 8天大假全國共6.37億人次出遊,同比恢復79%● 國慶檔票房近40億元居中國影史國慶檔票房第二,成都票房位居全國前列川人8天「逛吃」花掉520億元● 海關總署:海南離島免稅8天銷售10.4億8天大假全國共6.37億人次出遊同比恢復79%據文旅部統計,8天長假期間,全國共接待國內遊客6.37億人次,
  • 全國超1500家景區門票減免 國慶長假旅遊人次或達6億
    原標題 全國超1500家景區門票減免,國慶長假旅遊人次或達6億 9月23日,攜程旅遊大數據實驗室發布2020「十一」長假旅遊性價比報告,數據顯示,今年國慶前夕,全國有超過1500家景區免費或打折,20多個省市政府發放旅遊優惠券,加上各大旅遊平臺的促銷補貼,今年「十一」是近年來性價比最高的旅遊長假。
  • 收官4665.6億元,6.37億人次!國慶中秋過出了「年味」
    ,全國共接待國內遊客6.37億人次,按可比口徑同比恢復79.0%;實現國內旅遊收入4665.6億元,按可比口徑同比恢復69.9%。記者從文化和旅遊部獲悉,綜合各地旅遊部門、通訊運營商、線上旅行服務商的數據,經中國旅遊研究院(文化和旅遊部數據中心)測算,八天長假,全國共接待國內遊客6.37億人次,按可比口徑同比恢復79.0%;實現國內旅遊收入4665.6億元,按可比口徑同比恢復69.9%。
  • 黃金周6.37億人次出遊,大數據告訴你人都去哪兒了?
    今年,國慶與中秋撞了個「滿懷」,雙節疊加給今年的長假增添了更多的色彩。作為國內疫情形勢漸穩後的第一個8天長假,承載著人們積累了大半年的出遊期待。相關數據顯示,國慶8天全國共接待國內遊客6.37億人次,按可比口徑同比恢復79.0%;實現國內旅遊收入4665.6億元,按可比口徑同比恢復69.9%。
  • 雙節假期共6.37億人次出遊 大數據直擊假期出遊有多「火」
    川北在線核心提示:原標題:雙節假期共6.37億人次出遊 大數據直擊假期出遊有多火 國慶長假臨近尾聲,多地交通運輸部門迎來返程客流高峰。10月8日,旅客在杭州火車東站候車大廳候車。新華社發 貴陽北站,旅客步入候車大廳。 兩名遊客在杭州河坊街的燈籠前拍照留影。 外賣小哥正在送餐。
  • 6.37億人次國內遊客激活國慶長假旅遊市場
    新華社北京10月8日電 (記者 餘俊傑)記者8日從文化和旅遊部獲悉,今年國慶中秋8天假期,全國共接待國內遊客6.37億人次,按可比口徑同比恢復79.0%;實現國內旅遊收入4665.6億元,按可比口徑同比恢復
  • 4665.6億元,6.37億人次!國慶中秋雙節過出「年味」
    ,全國共接待國內遊客 6.37億人次,按可比口徑同比恢復79.0%;實現國內旅遊收入 4665.6億元,按可比口徑同比恢復69.9%。國慶前7天銀聯網絡交易金額同比增6.3%中國銀聯數據顯示, 國慶長假前7天銀聯網絡的交易金額達到2.16萬億元,較去年同期增長了6.3%; 今年國慶與中秋雙節合一,當天交易金額超過3300億元,同比增長15.5%。
  • 國慶中秋8天長假期間,全國共接待國內遊客6.37億人次
    據文化和旅遊部數據中心統計,國慶中秋8天長假期間,全國共接待國內遊客6.37億人次,按可比口徑同比恢復79.0%;實現國內旅遊收入4665.6億元,按可比口徑同比恢復69.9%。此外,假期前5天,海口海關監管的海南離島免稅購物金額已達5.3億元。
  • 國慶接待國內遊客6.37億人次
    中新社記者 張斌 攝中新社北京10月8日電 (記者 周音)中國旅遊研究院(文化和旅遊部數據中心)測算,10月1日至8日,中秋國慶長假期間,中國共接待國內遊客6.37億人次,按可比口徑同比恢復79.0%;實現國內旅遊收入4665.6億元人民幣,按可比口徑同比恢復69.9%。
  • 國慶假期全國接待遊客6.37億人次
    記者昨天從文化和旅遊部獲悉,今年國慶中秋8天假期,全國共接待國內遊客6.37億人次,按可比口徑同比恢復79.0%;實現國內旅遊收入4665.6億元,按可比口徑同比恢復69.9%。今年的國慶中秋長假是進入疫情防控常態化之後的第一個黃金周。
  • 6.37億人次國內遊客激活國慶中秋長假旅遊市場
    新華社北京10月8日電(記者餘俊傑)記者8日從文化和旅遊部獲悉,今年國慶中秋8天假期,全國共接待國內遊客6.37億人次,按可比口徑同比恢復79.0%;實現國內旅遊收入4665.6億元,按可比口徑同比恢復69.9%。今年的國慶中秋長假是進入疫情防控常態化之後的第一個黃金周。
  • 國慶長假共接待國內遊客6.37億人次 可比口徑同比恢復79.0%
    【國慶長假共接待國內遊客6.37億人次】記者從文化和旅遊部獲悉:綜合各地旅遊部門、通訊運營商、線上旅行服務商的數據,經中國旅遊研究院(文化和旅遊部數據中心)測算,八天長假期間,全國共接待國內遊客6.37億人次,按可比口徑同比恢復79.0%;實現國內旅遊收入4665.6億元,按可比口徑同比恢復69.9%。
  • 假期前七天 國內6.18億人次出遊 多個機場迎來返程高峰
    據文旅部統計,國慶假期前7天,全國共接待國內遊客6.18億人次,實現旅遊收入4543.3億元。民航國內航線承運1150萬人次另據去哪兒網數據顯示,今年「十一黃金周」期間,全國假期乘飛機出行人次同比增長近1成。
  • 8天,6.37億人次,4665億元!停擺的旅遊業復甦了?
    曾因疫情停擺的旅遊業在這個長假迎來了大回血的契機,各地政府、OTA及旅行社、目的地景區等紛紛祭出大招吸引遊客。不負眾望,6.37億人次出遊,4665.6億元旅遊收入,旅遊人次和旅遊收入分別同比恢復至去年79%和69.9%。不止如此,從觀光旅遊走向休閒度假,中國旅遊市場的變化也在這個「十一」長假同步呈現。
  • 國慶假期6.37億出遊人次,國內旅遊全面復甦,網友:誰在羨慕
    終於等到了國慶假期,而且今年的國慶假期和中秋節千載難逢的同一天,所以今年的國慶中秋雙節假期有8天的假期,這也讓我們有了足夠的時間去撒歡,有足夠的時間把之前擱置的旅遊計劃統統提上日程。8天假期來臨之前,根據相關部門公布的數據,預計國慶中秋八天長假期間,全國接待國內遊客約5.5億人次。
  • 「十一」期間國內遊客達6.37億人次 國內旅遊市場加速復甦
    來源:經濟日報-中國經濟網經濟日報-中國經濟網北京10月9日訊 8日下午,記者從文化和旅遊部獲悉,綜合各地旅遊部門、通訊運營商、線上旅行服務商的數據,經中國旅遊研究院(文化和旅遊部數據中心)測算,八天長假期間,全國共接待國內遊客6.37億人次,按可比口徑同比恢復79.0%;實現國內旅遊收入4665.6億元,按可比口徑同比恢復69.9%。
  • 8天長假全國接待國內遊客6.37億人次
    90後、00後成為出行主力軍;全國零售和餐飲重點監測企業日均銷售額比去年「十一」黃金周增長4.9%國慶中秋雙節長假結束,假期旅遊、出行、消費、購物等數據相繼出爐。在國內疫情趨穩、景區遊客最大承載量上調、旅遊促銷加大等多重利好因素疊加下,旅遊市場回暖加速。經中國旅遊研究院(文化和旅遊部數據中心)測算,八天長假期間,全國共接待國內遊客6.37億人次,按可比口徑同比恢復79.0%;實現國內旅遊收入4665.6億元,按可比口徑同比恢復69.9%。
  • 八天長假,全國共接待國內遊客6.37億人次
    6.37億人次,按可比口徑同比恢復79.0%;實現國內旅遊收入4665.6億元國慶前7天銀聯網絡交易金額同比增6.3%中國銀聯數據顯示,國慶長假前7天銀聯網絡的交易金額達到2.16萬億元,較去年同期增長了6.3%;今年國慶與中秋雙節合一,當天交易金額超過3300億元,同比增長15.5%