真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何用Python做一份旅游攻略

如何用Python做一份旅游攻略,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:域名注冊、虛擬主機、營銷軟件、網(wǎng)站建設(shè)、滿洲網(wǎng)站維護、網(wǎng)站推廣。

旅游是調(diào)節(jié)心情的有效途徑,越來越多的上班族和學(xué)生期待利用假期時間外出游 玩來開拓眼界、舒緩壓力。然而真正有了假期,許多人卻會因“去哪玩”的問題倍感困惑,六月份正是出行的好時節(jié),就讓我們一起來學(xué)習(xí)如何利用python來安排自己的出行計劃吧。

一.數(shù)據(jù)的獲取

最近幾年,既省錢又休閑的自助游逐漸成為年輕人出行的最愛,這里推薦一個我個人比較喜歡的旅游網(wǎng)站螞蜂窩,這次通過分析“驢友”們的出行計劃來規(guī)劃我們自己的行程,第一步當然是爬取網(wǎng)站數(shù)據(jù)啦

1.分析目標網(wǎng)頁

為了獲取大家的出行信息,我們進入網(wǎng)站的“結(jié)伴”板塊,查看“一個月以內(nèi)”的出行計劃,可以看到隨著頁面的更改url并沒有發(fā)生變化,初步判斷該網(wǎng)頁是通過js加載的,要想爬取首先得找到真實url和返回的數(shù)據(jù)格式。

如何用Python做一份旅游攻略

經(jīng)過一番嘗試,我們成功找到了請求返回的真實url和關(guān)鍵參數(shù),這里返回的是json格式的數(shù)據(jù),里面包含了一個html文本。

如何用Python做一份旅游攻略

2.確定抓取內(nèi)容

在正式開始爬取數(shù)據(jù)之前,我們要先確定需要爬取哪些數(shù)據(jù)。行程的列表頁清晰地展現(xiàn)了目的地、行程簡介、發(fā)起人ID和性別(呵呵),雖然這些信息非常有參考價值,但是如果能獲取更多信息無疑會對我們的行程規(guī)劃更有幫助,所以還是要進入詳情頁來看一看。

如何用Python做一份旅游攻略

可以看到,詳情頁中對出發(fā)時間、行程歷時、出發(fā)地點等都有詳細說明,此外還有報名結(jié)伴人員情況,這項數(shù)據(jù)能在很大程度上反映小伙伴們的出行意向,所以一定要拿下來。

3.正式爬取數(shù)據(jù)

總體思路是爬取索引頁中每一個行程的發(fā)起人和詳情頁url,之后進入詳情頁抓取出發(fā)時間、歷史、目的地、出發(fā)城市、希望人數(shù)以及報名人員情況等數(shù)據(jù),每個行程的索引頁數(shù)據(jù)和詳情頁數(shù)據(jù)合 并后作為該行程的完整數(shù)據(jù)進行存儲。以下是爬蟲程序的總?cè)肟?

如何用Python做一份旅游攻略

  • payload參數(shù):flag決定了行程的排序方式,可選值為1、2、3,分別代表“即將出發(fā)”、“***發(fā)布”、“熱門結(jié) 伴”;

  • offset表示當前頁數(shù),默認從0開始;middid表示行程目的地,不確定目的地值為0;timeFlage代表出 發(fā)時間,值為3表示選取一個月內(nèi)的行程。

  • get_info()方法:抓取每一頁的行程信息并翻頁,如果無法獲取有效信息則說明爬取結(jié)束。

  • 數(shù)據(jù)存儲:由于數(shù)據(jù)量不大,可以先全部存儲到一個dataframe數(shù)據(jù)結(jié)構(gòu)中,再一次性寫入csv文件。

二. 數(shù)據(jù)清洗

我們來看看獲取到的數(shù)據(jù)是什么樣子的,可以看到,每條數(shù)據(jù)中都有很多干擾信息:

  • “出發(fā)時間”一欄我們想要 的僅僅是日期數(shù)據(jù);

  • “報名人數(shù)”一欄我們想要的僅僅是數(shù)字,而不需要多余的修飾文字等等;

  • “部分出行” 計劃涵蓋了多個目的地,這對我們的旅游目的地分析是非常不利的

如何用Python做一份旅游攻略

所以,我們必須先對獲取到的數(shù)據(jù)進行清洗, 以期為正式的數(shù)據(jù)分析奠定基礎(chǔ)。

1.規(guī)范格式

首先對歷時、希望人數(shù)、報名人數(shù)(女)、報名人數(shù)(男)這幾項數(shù)據(jù)進行清洗,僅保留數(shù)字部分;其次對出發(fā)是 按、出發(fā)地點相關(guān)數(shù)據(jù)進行情況,取到“:”及前面的內(nèi)容。感謝pandas.Series.str方法,使我們可以非常簡單地完 成上述工作,功能函數(shù)如下:

如何用Python做一份旅游攻略

only_num(self, col_list):去除數(shù)據(jù)中的非數(shù)字部分。

no_colon(self, col_list):去除數(shù)據(jù)中的“:”及其前面的內(nèi)容。

2.拆分目的地

剛才說到過,一個行程中包含多個目的地會對我們的分析造成干擾,這里的解決思路是對目的地數(shù)據(jù)進行拆分。

將一列數(shù)據(jù)拆分成X列(X為該行程包含的目的地個數(shù)),同樣是使用pandas.Series.str方法,代碼如下:

如何用Python做一份旅游攻略

三.數(shù)據(jù)分析

現(xiàn)在我們可以對數(shù)據(jù)進行分析查找六月份的旅行規(guī)律了,為了便于觀察,這里使用pyecharts進行可視化處理。

1.男女比例

首先對參與出行計劃的人員性別進行分析,利用dataframe的sum()和groupby().count()方法可以很容易獲得行程 發(fā)布者和參與者的性別分布:

如何用Python做一份旅游攻略

從圖中可以看出,發(fā)起人以女性居多,約占總數(shù)的60%,而參與者剛好相反,男性比 例約為60%,估計是女同胞們更擅長精心策劃行程,而男同胞們大多比較“懶”吧~

2.出發(fā)時間

這里我們首先用dataframen的groupby()方法,以“出行時間”為關(guān)鍵字對數(shù)據(jù)進行分組,分別統(tǒng)計每天的行程數(shù)量 和參與者數(shù)量,然后畫出折線圖。

如何用Python做一份旅游攻略

從結(jié)果來看,6月15、16兩天是六月份出行的高峰期(這個時間剛好開始端午節(jié)假期),端午節(jié)有出行計劃的朋友 們記得提前準備哈。除此之外的幾個波峰也都出現(xiàn)在周末,看來喜歡自助游的朋友中還是上班族(也可能是大學(xué) 生)居多啊。

3.目的地選擇

先來分析行程發(fā)布數(shù)據(jù),首先將數(shù)據(jù)中所有的目的地加入到一個list中(包含重復(fù)數(shù)據(jù)),然后使用collections中的Counter()方法統(tǒng)計每個目的地出現(xiàn)的頻次,***制圖。

如何用Python做一份旅游攻略

圖中列出了頻次較高的幾個目的地,彩條越長表示出現(xiàn)的頻次越多。稍微留意下我們會發(fā)現(xiàn),大家比較青睞的都是一些商業(yè)化程度比較低的地區(qū),比如拉薩,新疆!

其實作為一名自由行愛好者,我同樣比較喜歡更加原始和純粹的風光,對于沉淀心情確實會起到更好的效果,大家如果有出行計劃又不知道去哪玩的話,不妨從上面的目的地中選一下。

如何用Python做一份旅游攻略

4.參與者情況如何

首先分別統(tǒng)計出各個目的地報名的男性數(shù)量和女性數(shù)量儲存到兩個dict中,分別取參與 人數(shù)最多的10個目的地,***將兩組數(shù)據(jù)合并、去重......

然后我們會驚奇地發(fā)現(xiàn),雖然兩個序列中具體排名不盡相 同,但是男性和女性最想去的10個目的地居然完全一致。

不過各個地點的男女人數(shù)還是有較大差異的,如果想來一場***的邂逅,或許下面這張圖會有點幫助哈。

如何用Python做一份旅游攻略

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進一步的了解或閱讀更多相關(guān)文章,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。


分享名稱:如何用Python做一份旅游攻略
路徑分享:http://weahome.cn/article/jjsjdo.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部