Python爬蟲解讀哪個景點人少又好玩
當客戶想知道哪些景點人少又好玩,老闆把這個任務交給你,作為業務人員,你選擇用哪種方法解題?

image

image

image

image

image
以上兩種工作方式都沒錯,但如果你是資料思維者,相信你一定更快的升職加薪,因為你有能力壁壘。這個能力壁壘的名字,在這個案例裡叫做python。
Python學習群:556370268,有大牛答疑,有資源共享!有想學習python程式設計的,或是轉行,或是大學生,還有工作中想提升自己能力的,正在學習的小夥伴歡迎加入學習。
Python在資料界為什麼如此重要?我們把上述例子化成流程圖:

image
可以看到,python幾乎解決了資料分析中所有步驟。
使用python=自由,你可以批量爬資料、載入資料、刪除資料、修改資料、視覺化資料,用資料建模,一套程式碼,終生受益。這就是python為什麼受到資料界推崇的原因,

image
我們將使用python爬取某哪兒網站的景點資料,進行景點綜合評價分析。

image
知識點1:python函式提高效率
Python可以定義函式,這意味著一旦構建完,我們可以通過修改引數的方式快速獲取網址,效率比滑鼠點選高很多,本次課程將著重講解如何構建函式:
def get_urls(n): return ['https://travel.qunar.com/p-cs299878-shanghai-jingdian-1-' + str(i+1) for i in range(n)] # 建立函式,獲取分頁網址 def get_informations(u): ri = requests.get(u) # requests訪問網站 soupi = BeautifulSoup(ri.text,'lxml') # bs解析頁面 infori = soupi.find('ul',class_="list_item clrfix").find_all('li') # 獲取列表內容 datai = [] for i in infori: #print(i.text) dic = {} dic['lat'] = i['data-lat'] dic['lng'] = i['data-lng'] dic['景點名稱'] = i.find('span',class_="cn_tit").text dic['攻略提到數量'] = i.find('div',class_="strategy_sum").text dic['點評數量'] = i.find('div',class_="comment_sum").text dic['景點排名'] = i.find('span',class_="ranking_sum").text dic['星級'] = i.find('span',class_="total_star").find('span')['style'].split(':')[1] datai.append(dic) # 分別獲取欄位內容
以上程式碼構建了兩個函式,分別是批量獲取網址(get_urls)和批量訪問網址並獲得7個對應的資料欄位(get_informations)。
Python學習群:556370268,有大牛答疑,有資源共享!有想學習python程式設計的,或是轉行,或是大學生,還有工作中想提升自己能力的,正在學習的小夥伴歡迎加入學習。
寫完後,我們只需要輸入爬取【多少頁】資料,就可以自動執行得到最後的景點資料:

image
用此方法,我們將爬取了11個欄位的上海景點資料:

image
知識點2:爬取清洗分析無縫銜接
Python爬取資料後,可以無縫銜接資料分析和視覺化,讓分析師快速瞭解資料情況。在案例中我們會構建一個視覺化函式,按照不同的維度評價景點:
import matplotlib.style as psl psl.use('seaborn-colorblind') def createfig(col): dffig = df[['景點名稱',col]].sort_values(by = col,ascending = True).iloc[:10] dffig.index = dffig['景點名稱'] dffig.iloc[::-1].plot(kind = 'bar',rot = 90, title = '%sTOP排名' %col,figsize = (12,6)) plt.grid() # 建立函式繪製TOP10的對應指標圖片 createfig('點評數量')

image
函式createfig構建完成後,可以通過直接修改需要視覺化的維度(比如點評數量),批量出圖。
知識點3:Excel神器Powermap演示
地理上的視覺化是很多分析師忽略,但效果極佳的一種視覺化方式。利用pandas.to_excel功能,我們可以快速匯出整理好的資料,放到excel的神器外掛powermap裡,從空間上看景點的分佈及人氣和評價:

image