還要看攻略?Python100行代碼帶你分析國內哪些景點爆滿!

還要看攻略?Python100行代碼帶你分析國內哪些景點爆滿!


舉國歡慶的國慶節馬上就要結束了,你想好去哪裏看人山人海了嗎?還是窩在家裏充電學習呢?說起國慶,塞車與爆滿這兩個詞必不可少,但是如果能提前知道哪些景點爆滿就不用人擠人地去湊熱鬧了。本文即用 Python 抓取了有關國慶出行方面的數據,希望給你的假期提供些幫助。

一開始,筆者以爲要抓取出行方面的數據挺簡單,直接去看看攜程旅遊、馬蜂窩這類網站看看有沒有數據抓取就好。但是實際上這些網站並沒有比較好的格式化數據供我們抓取(當然或許是我沒找到辦法......)。但是出行肯定會查找相關的出行攻略,那麼關鍵詞就是一個突破口,可以查詢百度指數來看看哪些景點被查詢的次數最多,那麼就可以大概知道哪些景點會爆滿了。


01:統計結果

此次的統計結果只是從側面反映景點爆滿的問題,未必是完全準確的,僅供參考。此次統計的景點共有 100 個:

還要看攻略?Python100行代碼帶你分析國內哪些景點爆滿!


還要看攻略?Python100行代碼帶你分析國內哪些景點爆滿!


還要看攻略?Python100行代碼帶你分析國內哪些景點爆滿!


不出意外,桂林、三亞、泰山的搜索量都是槓槓的,這第一梯隊的地方能不去就別去了,去了也是人山人海的,爆滿是無疑的了。

還要看攻略?Python100行代碼帶你分析國內哪些景點爆滿!


第二梯隊的搜索量也不差,日均搜索量還是上萬的,謹慎行動。

還要看攻略?Python100行代碼帶你分析國內哪些景點爆滿!


第三梯隊下來就可以考慮考慮,爲了避免不必要的塞車與等待,建議大家還是待在家裏吧......

還要看攻略?Python100行代碼帶你分析國內哪些景點爆滿!


第四梯隊應該沒太大的問題,建議出去溜達溜達。

還要看攻略?Python100行代碼帶你分析國內哪些景點爆滿!


都到第五梯隊了,就可以放心地玩耍了。經歷了那麼多的煩心事,是該好好放飛一下自己了。

還要看攻略?Python100行代碼帶你分析國內哪些景點爆滿!


02:爬蟲技術分析及具體實現

本次爬取過程中用的的數據工具如下:

  • 請求庫:selenium

  • HTML 解析:使用正則匹配

  • 數據可視化:pyecharts

  • 數據庫:MongoDB

  • 數據庫連接:pymongo

首先是選取爬蟲來源,攜程與馬蜂窩沒有結構化的數據,我們就換一種思路。首先是想到百度指數,如圖:

還要看攻略?Python100行代碼帶你分析國內哪些景點爆滿!


但是分析源代碼之後,你就會發現問題了......它的數據都是以圖片展示的,你不能直接獲取到源碼。考慮到國慶馬上就要到來,我換了一個指數平臺,轉戰搜狗指數,這個平臺可以直接獲取到源數據,關鍵是還有微信熱度可以爬取。當然,你執意要使用百度指數也是有方法的,抓取到數據之後,使用圖像識別來識別文中的數據即可,這裏就不展開了。

還要看攻略?Python100行代碼帶你分析國內哪些景點爆滿!


關於數據清洗方面,這裏篩選了數據量過小和數據量異常大的景點:

還要看攻略?Python100行代碼帶你分析國內哪些景點爆滿!


由於篇幅原因,這就只展示部分主要代碼:

還要看攻略?Python100行代碼帶你分析國內哪些景點爆滿!


整篇爬蟲文章分析到這裏就結束了。最後祝大家假期愉快,不用寫代碼。

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