當前位置:
首頁 > 最新 > 單身狗用python寫了個國慶景點推薦,妹子再也不擔心去哪了……

單身狗用python寫了個國慶景點推薦,妹子再也不擔心去哪了……

作者:AS 數據圈成員 python學習組

學生 來自長春

經濟統計專業

愛數據愛編程

國慶

再過幾天就是國慶了,還在糾結去哪玩嗎?

還在找不到景點嗎?沒事,這款itchat自動回復小程序統統替你解決,只需輸入城市,省份甚至國家,大洲的拼音,就能獲取目的地的相關介紹,並自動推薦當地特色景點甚至美食。是不是很有趣啊,趕快和小夥伴們一起來玩吧!

一、Itchat的安裝

這裡用Anaconda自帶的conda工具。打開電腦終端/cmd,輸入以下命令。輸入cd進入我們想要安裝的地方(這裡我把itchat安裝在E盤),輸入以下命令:

pip install itchat

二、前期準備

三、實驗步驟

當一切都準備就緒之後,我們就來敲代碼吧!哈哈,是不是看到「代碼」兩字就頭疼,沒事。

我們先來理一下思路:

抓取該地點的相關信息,並返回給微信。所以我們將代碼劃分為A,B兩部分。

1

Help

(注意:由於山西與陝西,福州與撫州同音,吉林又分為吉林省和吉林市,所以在打開網頁https://lvyou.baidu.com搜索以下幾個城市發現,網站將陝西的拼音定義為shaanxi,吉林市為jilinshi,撫州為jiangxifuzhou,為了方便使用,我們在提示信息里做一下備註)

2&3

pinyin+result

當我們輸入一個拼音時,我們期待得到的市一個天氣結果,所以這實質上是一個pinyin轉化為result的過程。

首先註冊消息響應事件,然後創建函數getcity(),變數為msg,用來存放pinyin,並通過pinyin獲取景點信息result,最後將景點信息發送給好友

b Python——Web

這部分主要是python通過變數pinyin從網頁上抓取相關信息。

確定抓取內容

1

打開網頁https://lvyou.baidu.com任意搜索幾個景點,不難發現景點的網址都是由

https://lvyou.baidu.com+地點的拼音

構成的

2

3

右擊->審查元素,或者ctrl+shift+I,或者F12打開Chrome Inspector,獲取網站頁面源代碼。然後使用正則表達式和find(),find_all( )函數通過定位標籤來查找信息。如下圖所示,以廈門為例:

代碼實現

1

2

抓取推薦信息:

這裡我們想要獲取推薦所有推薦內容,觀察頁面源代碼易得,它們都存放在class為『unmis-li』的標籤裡面。於是先使用find_all()函數抓取所有推薦,然後再使用if循環語句抓取推薦裡面的景點(或美食)名稱,並存放在一個列表裡面。

寫完之後,先嘗試著填入地點拼音,運行一下。很快地,問題又出現了。當我們輸入的拼音為國家或者省份時候,arr列表居然是空的!先返回旅遊網頁找找線索

原來,省份(國家)與城市推薦信息的定位標籤不一樣。如下圖所示:

為了保險起見,我們再多搜索幾次,發現有些比較偏僻,冷門的地方是沒有「最佳季節」,「建議遊玩」,景點(美食)等方面的推薦的。這方面我們使用try……except……語句來處理

抓取到我們想要的內容之後,接下來就是定義一個輸出變數output來列印抓取結果。output分為output1和output2兩部分,直接將景點基本信息存放在output1里,output2用來存放景點(美食)推薦。使用for循環語句將列表裡的內容列印出來。

四、總結

五、運行

六、效果展示

有興趣的小夥伴趕緊來試一下吧

心動不如行動

如何加入數據圈

第一期學習已滿,現在二三期正在招募,課程體系任你選,全部免費,終身學習,點擊了解那些人都在愛數圈(第一期)

加入數據君高效數據分析社區,2種加人方式:

1:掃碼加入

2、加入方式:

轉賬298,先拉微信群,再邀請進小密圈

猶豫的、不懂的、諮詢的不要加,加了也是殭屍,時間寶貴,你我都珍惜

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 數據挖掘與大數據分析 的精彩文章:

TAG:數據挖掘與大數據分析 |