国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

使用python和tableau對數據進行抓取及可視化

大數據 數據可視化
本篇文章介紹使用python抓取貸款及理財平臺的數據,并將數據拼接和匯總。最終通過tableau進行可視化。與之前的python爬蟲文章 不同之處在于之前是一次性抓取生產數據表,本次的數據需要每天重復抓取及存儲,并匯總在一起進行分析和可視化。

[[190576]]

本篇文章介紹使用python抓取貸款及理財平臺的數據,并將數據拼接和匯總。最終通過tableau進行可視化。與之前的python爬蟲文章 不同之處在于之前是一次性抓取生產數據表,本次的數據需要每天重復抓取及存儲,并匯總在一起進行分析和可視化。

 

開始前的準備工作

開始之前先導入所需使用的庫文件,各個庫文件在整個抓取和拼表過程中負責不同的部分。Requests負責頁面抓取,re負責從抓取下

來的頁面中提取有用的信息,pandas負責拼接并生成數據表以及最終的數據表導出。

  1. </pre> 
  2. #導入requests庫(請求和頁面抓取) 
  3. import requests 
  4. #導入正則庫(從頁面代碼中提取信息) 
  5. import re 
  6. #導入科學計算庫(拼表及各種分析匯總) 
  7. import pandas as pd 
  8. <pre>  

設置一個頭文件信息,方便后面的抓取。這個頭文件有兩個作用,第一防止抓取時被封,第二方便后面對頁面源文件的轉碼。

  1. </pre> 
  2. #設置請求中頭文件的信息 
  3. headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 
  4. Safari/537.11', 
  5. 'Accept':'text/html;q=0.9,*/*;q=0.8'
  6. 'Accept-Charset':'ISO-8859-1,utf-8;q=0.7,*;q=0.3'
  7. 'Connection':'close'
  8. 'Referer':'https://www.bluewhale.cc/' 
  9. <pre>  

抓取貸款及理財信息

準備工作完成后開始對貸款和理財信息進行抓取,這里我們偷個懶,直接抓取p2peye.com的信息。p2peye.com是一個網貸咨詢及數據

平臺,內容很豐富。他們定期更新各平臺的貸款及理財數據。

因為所有的網貸平臺信息都在一頁上,所以抓取起來比較簡單,不需要翻頁。下面是抓取并保存頁面信息的代碼。

  1. </pre> 
  2. #抓取并保存頁面信息 
  3. r=requests.get('http://www.p2peye.com/shuju/ptsj/',headers=headers) 
  4. html=r.content 
  5. <pre>  

抓取下來的信息需要進行轉碼才能變成有用的信息,下面對頁面源代碼進行GBK轉碼。

  1. </pre> 
  2. #對抓取的頁面進行編碼 
  3. html=str(html, encoding = "GBK"
  4. <pre>  

查看一下轉碼后的頁面,我們需要的信息都包含在里面了。后面只需要使用正則表達式逐個提取出來就可以了。

  1. </pre> 
  2. #查看抓取的頁面源碼 
  3. html 
  4. <pre>   

 

提取信息并進行數據清洗

使用正則表達式對應著頁面中的字段逐個將關鍵數據從頁面源碼中提取出來,下面是具體的過程,首先提取的是平臺名稱字段。在頁

面源碼中平臺名稱在title中。

  1. </pre> 
  2. #使用正則提取title字段信息 
  3. title=re.findall(r'"return false".*?title="(.*?)"',html) 
  4. <pre>  

提取后查看下結果,內容很干凈,不需要進行清洗可以直接使用。

  1. </pre> 
  2. #查看title字段信息 
  3. title 
  4. <pre>   

 

這里有一點要注意的是每個提取出來的字段最好都要檢查下,并且查看下數據的條目。因為有時候提取的條目中包含有其他的信息,

導致字段間條目數量不一致,這種情況下后面是無法拼接成數據表的。

  1. </pre> 
  2.  
  3. #查看title字段數量 
  4.  
  5. len(title) 
  6.  
  7. 607 
  8.  
  9. <pre>  

按照提取平臺名稱title的方法,后面我們依次提取了貸款利率,貸款金額,滿標時間等關鍵信息。下面是具體的代碼。

  1. </pre> 
  2.  
  3. #使用正則提取total字段信息 
  4.  
  5. total=re.findall(r'"total">(.*?)萬<',html) 
  6.  
  7. #使用正則提取rate字段信息 
  8.  
  9. rate=re.findall(r'"rate">(.*?)<',html) 
  10.  
  11. #使用正則提取pnum字段信息 
  12.  
  13. pnum=re.findall(r'"pnum">(.*?)人<',html) 
  14.  
  15. #使用正則提取cycle字段信息 
  16.  
  17. cycle=re.findall(r'"cycle">(.*?)月<',html) 
  18.  
  19. #使用正則提取plnum字段信息 
  20.  
  21. p1num=re.findall(r'"p1num">(.*?)人<',html) 
  22.  
  23. #使用正則提取fuload字段信息 
  24.  
  25. fuload=re.findall(r'"fuload">(.*?)分鐘<',html) 
  26.  
  27. #使用正則提取alltotal字段信息 
  28.  
  29. alltotal=re.findall(r'"alltotal">(.*?)萬<',html) 
  30.  
  31. #使用正則提取captial字段信息 
  32.  
  33. capital=re.findall(r'"capital">(.*?)萬<',html) 
  34.  
  35. <pre>  

由于后面我們要對數據進行累計追加及趨勢分析,因此在這里導入time庫生成當天的日期,并將日期作為一個字段一起放在數據表。

  1. </pre> 
  2.  
  3. #導入time庫(獲取日期) 
  4.  
  5. import time 
  6.  
  7. date=time.strftime('%Y-%m-%d',time.localtime(time.time())) 
  8.  
  9. <pre> 
  10.  
  11. 當天的日期信息將和數據一起生成數據表。 
  12.  
  13. </pre> 
  14.  
  15. #日期 
  16.  
  17. date 
  18.  
  19. '2017-04-13' 
  20.  
  21. <pre>  

創建貸款及理財數據表

將前面提取出來的數據和日期信息一起生成數據表,首先使用columns參數設置數據表中各字段的排列順序。

  1. </pre> 
  2.  
  3. #設置數據表各字段順序 
  4.  
  5. columns = ['采集日期','平臺名稱','成交額(萬)','綜合利率','投資人(人)','借款周期(月)','借款人(人)','滿標速度(分鐘)',' 
  6.  
  7. 累計貸款余額(萬)','凈資金流入(萬)'] 
  8.  
  9. <pre>  

然后設置各字段的名稱,并生成數據表。

  1. </pre> 
  2.  
  3. #創建數據表 
  4.  
  5. table=pd.DataFrame({'采集日期':date
  6.  
  7. '平臺名稱':title, 
  8.  
  9. '成交額(萬)':total, 
  10.  
  11. '綜合利率':rate, 
  12.  
  13. '投資人(人)':pnum, 
  14.  
  15. '借款周期(月)':cycle, 
  16.  
  17. '借款人(人)':p1num, 
  18.  
  19. '滿標速度(分鐘)':fuload, 
  20.  
  21. '累計貸款余額(萬)':alltotal, 
  22.  
  23. '凈資金流入(萬)':capital}, 
  24.  
  25. columns=columns) 
  26.  
  27. <pre>  

查看生成的數據表,字段順序與我們設置的一致,下一步把數據表導出為csv文件。便于后續的處理和分析。

  1. </pre> 
  2.  
  3. #查看數據表 
  4.  
  5. table 
  6.  
  7. <pre>   

 

 

導出及追加數據

將生成的數據表導出為csv文件。這里有兩種導出方式。第一是新建數據表。但比較麻煩,后續要需要手動將每天的數據進行拼接。因

此還有第二種導出方式就是在一個數據表中不斷追加新數據。

第一種方式將數據表導出為一個新的csv文件,文件名為wdty加上數據抓取的具體日期,也就是date中的值。

  1. </pre> 
  2.  
  3. #導出csv文件 
  4.  
  5. table.to_csv('C:\\Users\\ Desktop\\wdty'+date+'.csv',index=False
  6.  
  7. <pre>  

第二種方式是在一個csv文件中持續追加導出新的數據表。這里我們建立一個wdty的csv文件,每天抓取的數據都會追加到這個csv文件

中。代碼與之前的新建csv文件類似,唯一的區別是增加了mode參數,這個參數默認值是w,也就是新建。把值改為a就是追加導出。

  1. </pre> 
  2.  
  3. #在歷史csv文件中追加新信息 
  4.  
  5. table.to_csv('wdty.csv',index=False,mode='a'
  6.  
  7. <pre>  

以下是導出后的數據表截圖。內容與前面創建的數據表內容一致。  

 

創建自定義函數

從導入所需的庫文件,到提取數據拼接和導出,我們一共進行了30+步的操作。為了簡化步驟,我們把這些步驟放在一個loan_data自

定義函數中。以后每次只需要執行以下這個自定義函數就可以將數據抓取下來并導出到csv里了。下面是具體的代碼,其中為了獲得代

碼執行中的過程信息,我們在一些關鍵步驟后使用print輸出了一些狀態信息。并計算了整個代碼執行所耗費的時間。

  1. </pre> 
  2. def loan_data(): 
  3. import os 
  4. import requests 
  5. import re 
  6. import pandas as pd 
  7. import time 
  8. start = time.clock() 
  9. headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 
  10. Safari/537.11', 
  11. 'Accept':'text/html;q=0.9,*/*;q=0.8'
  12. 'Accept-Charset':'ISO-8859-1,utf-8;q=0.7,*;q=0.3'
  13. 'Connection':'close'
  14. 'Referer':'https://www.bluewhale.cc/' 
  15. r=requests.get('http://www.p2peye.com/shuju/ptsj/',headers=headers) 
  16. status=r.status_code 
  17. if status == 200: 
  18. print('頁面抓取狀態正常。'
  19. else
  20. os._exit(0) 
  21. html=r.content 
  22. html=str(html, encoding = "GBK"
  23. print('編碼轉換完成!'
  24. title=re.findall(r'"return false".*?title="(.*?)"',html) 
  25. total=re.findall(r'"total">(.*?)萬<',html) 
  26. rate=re.findall(r'"rate">(.*?)<',html) 
  27. pnum=re.findall(r'"pnum">(.*?)人<',html) 
  28. cycle=re.findall(r'"cycle">(.*?)月<',html) 
  29. p1num=re.findall(r'"p1num">(.*?)人<',html) 
  30. fuload=re.findall(r'"fuload">(.*?)分鐘<',html) 
  31. alltotal=re.findall(r'"alltotal">(.*?)萬<',html) 
  32. capital=re.findall(r'"capital">(.*?)萬<',html) 
  33. date=time.strftime('%Y-%m-%d',time.localtime(time.time())) 
  34. print('數據提取完成!'
  35. columns = ['采集日期','平臺名稱','成交額(萬)','綜合利率','投資人(人)','借款周期(月)','借款人(人)','滿標速度(分 
  36. 鐘)','累計貸款余額(萬)','凈資金流入(萬)'] 
  37. table=pd.DataFrame({'采集日期':date
  38. '平臺名稱':title, 
  39. '成交額(萬)':total, 
  40. '綜合利率':rate, 
  41. '投資人(人)':pnum, 
  42. '借款周期(月)':cycle, 
  43. '借款人(人)':p1num, 
  44. '滿標速度(分鐘)':fuload, 
  45. '累計貸款余額(萬)':alltotal, 
  46. '凈資金流入(萬)':capital}, 
  47. columns=columns) 
  48. print('數據表創建完成!'
  49. table.to_csv('C:\\Users\\cliffwang\\Desktop\\wdty'+date+'.csv',index=False
  50. print(date+'日數據導出完畢!'
  51. table.to_csv('wdty.csv',index=False,mode='a'
  52. print('累計數據追加導出完畢!'
  53. end = time.clock() 
  54. print ("執行時間: %f s" % (end-start)) 
  55. <pre>  

自定義函數寫好后,每次只需要執行loan_data()就可以完成之前的30+步驟的工作了。下面是代碼和輸出的狀態信息以及代碼執行時間信息。

  1. </pre> 
  2. loan_data() 
  3.  
  4. 頁面抓取狀態正常。 
  5. 編碼轉換完成! 
  6. 數據提取完成! 
  7. 數據表創建完成! 
  8. 2017-04-19日數據導出完畢! 
  9. 累計數據追加導出完畢! 
  10. 執行時間: 0.933262 s 
  11. <pre>  

使用tableau進行可視化

導出的數據雖然為csv格式,但使用excel進行可視化并不理想,主要問題在于excel對圖表行列數的限制(每張圖最多只能容納255個數

量列)。因此,我們將數據表導入到tableau中進行可視化。下面是對600+家網貸平臺數據的可視化截圖。尺寸為各平臺總成交額,顏色為綜合利率。   

 

所有文章及圖片版權歸 藍鯨(王彥平)所有。 

責任編輯:龐桂玉 來源: 36大數據
相關推薦

2017-02-22 13:48:49

Tableau可視化

2023-02-15 08:24:12

數據分析數據可視化

2021-11-09 08:15:18

Grafana 數據可視化運維

2021-02-20 09:14:35

PythonPygal可視化

2020-03-11 14:39:26

數據可視化地圖可視化地理信息

2015-08-20 10:00:45

可視化

2018-10-11 20:47:23

書籍數據可視化數據分析

2021-10-11 08:04:22

Python數據行程

2017-10-14 13:54:26

數據可視化數據信息可視化

2014-05-28 15:23:55

Rave

2023-07-20 08:00:00

可視化數據Python

2019-08-02 09:39:57

Python可視化技術腳本語言

2022-08-26 09:15:58

Python可視化plotly

2023-10-10 09:13:15

Python數據的操作轉換

2023-05-06 12:57:34

Python工具

2022-02-23 09:50:52

PythonEchartspyecharts

2020-05-26 11:34:46

可視化WordCloud

2021-04-09 10:42:03

數據可視化框架大數據

2018-05-07 14:50:27

可視化數據散點圖

2024-12-24 07:30:00

Seaborn可視化Python
點贊
收藏

51CTO技術棧公眾號

日韩和欧美的一区二区| 欧美日韩电影一区二区| av免费观看一区二区| 99久久99久久精品免费观看| 国产精品美女视频网站| 桃色一区二区| 欧美精品 日韩| 欧美精品videos另类| 国产精品白丝在线| 女女同性女同一区二区三区按摩| 日本大胆欧美| 亚洲欧美资源在线| rebdb初裸写真在线观看| 精品色蜜蜜精品视频在线观看| 日韩五码在线观看| 久久婷婷麻豆| 欧美日韩在线播放一区二区| 欧美日韩中文一区二区| 欧美成人精品一区二区三区| www.色在线| 欧美一区二区三区四区在线观看| av网站在线免费观看| 天天爽夜夜爽夜夜爽精品视频| 日本黄大片一区二区三区| 成人激情小说乱人伦| 国产私拍一区| 欧美日韩精选| 91传媒视频在线观看| 成人精品影视| 热久久这里只有精品| jizz性欧美23| 最近2019好看的中文字幕免费| 中中文字幕av在线| 3d动漫精品啪啪1区2区免费| 男女污视频在线观看| 午夜视频一区二区三区| 色乱码一区二区三区在线| 337p粉嫩大胆噜噜噜噜噜91av| 五月天久久综合网| 国产又粗又猛又爽又黄91精品| 色999五月色| 日韩和欧美一区二区三区| 亚洲制服中文| 国产美女精品在线| 秋霞无码一区二区| 久久久九九九九| 大肉大捧一进一出好爽视频| 久久你懂得1024| 99热.com| 亚洲一区二区三区中文字幕 | 台湾成人av| 日韩av成人高清| 四虎永久国产精品| 99久久精品一区| 免费在线观看毛片网站| 久久综合色播五月| www.精品在线| 欧美日韩夫妻久久| 日产福利视频在线观看| 伊人久久免费视频| 日本成人精品| 97人人澡人人爽| 日本在线观看不卡视频| 隔壁人妻偷人bd中字| 国产精品麻豆久久久| 男人天堂久久久| 亚洲欧洲日本专区| 欧美深夜视频| 成人免费看片视频| 国产自产视频一区二区三区| 不卡影院一区二区| 好吊成人免视频| 国产综合av| 国产精品露脸自拍| 久久国产精品久久久久久电车| 无码aⅴ精品一区二区三区浪潮| 日韩理论片网站| 精品电影在线| 欧美成人性生活| 一本一道久久a久久精品蜜桃| 色综合久久88色综合天天提莫| 国产成人精品三级| 二区三区在线| 日韩中文字幕国产| 伊人久久五月天| 丁香花在线观看完整版电影| 色综合久综合久久综合久鬼88| 欧美日韩亚洲一区| 37pao成人国产永久免费视频| 欧美日韩在线精品一区二区三区激情| 国产aa精品| 免费在线一区二区| 亚洲精品videosex极品| 久久三级毛片| 26uuu成人| 欧美挠脚心视频网站| 欧美欧美黄在线二区| 六月丁香激情网| 亚洲激情视频在线| 欧美特黄视频| 国产精品666| 久久亚洲国产精品| 蜜臀a∨国产成人精品| 久久综合九色综合久| 日韩av电影中文字幕| 国产性做久久久久久| 欧美成人黑人| 亚洲国产一区在线| 欧美日韩一区二区欧美激情| 国产亚洲电影| 黄色漫画在线免费观看| 久久精品国产精品亚洲| 激情综合一区二区三区| xvideos国产在线视频| 亚洲影院在线看| 午夜伦理一区二区| 国产精品午夜一区二区三区| 激情综合色综合啪啪开心| 岛国视频午夜一区免费在线观看| 亚洲一级大片| 欧美国产亚洲一区| 国产午夜精品视频免费不卡69堂| 亚洲专区免费| 日本电影在线观看网站| 亚洲伊人一本大道中文字幕| 亚洲综合区在线| 久久av超碰| 激情综合色综合啪啪开心| 国产精品日韩精品欧美在线| 一区在线不卡| 韩国日本在线视频| 日韩一区二区三区在线播放| 国产成a人亚洲| 神马久久资源| 国产www免费| 久久香蕉国产线看观看网| 久久婷婷国产综合精品青草| 豆花视频一区| 亚州av影院| 国产精品久久av| 午夜精品在线视频一区| 91国语精品自产拍| 黄色网在线看| 午夜久久久久久久久久久| 在线观看国产精品91| www成人在线观看| 免费日韩一区二区三区| 中文字幕视频在线| 欧美日韩一区二区三| 精品国内片67194| 久久激五月天综合精品| 日韩高清不卡| 免费高清成人| ts人妖另类在线| 日韩一区二区三区在线| 寂寞少妇一区二区三区| 欧美成人福利| 国产精品影视| 精品国产乱码一区二区三区四区| 欧美精品一区二区久久久| 国产乱码精品一区二区三区av | 男人天堂成人网| 俺去亚洲欧洲欧美日韩| 国产日韩欧美麻豆| 成人av国产| av网站网址在线观看| 日本国产中文字幕| 久久久人成影片一区二区三区| 天天综合天天做天天综合| 在线观看不卡| 欧美日韩亚洲国产| 360天大佬第二季在线观看| 欧美成ee人免费视频| 日韩在线视频网| 夜夜嗨av一区二区三区四季av| 国产精品美女久久久浪潮软件| 欧美男体视频| 少妇精品放荡导航| 日韩一区不卡| 91精品国产网站| 51精品秘密在线观看| 国产成人综合在线观看| 精品淫伦v久久水蜜桃| 成人不用播放器| 日本免费不卡一区二区| 91中文字幕一区| 亚洲老头老太hd| 天天色 色综合| 国产成人精品一区二区三区网站观看| 国产亚洲欧美日韩在线观看一区二区 | 国产精品免费视频一区| 国产精品久久久久一区二区三区厕所| 天堂亚洲精品| 成全视频全集| 亚洲一区精品视频| 国产精品久久精品| 中文字幕最新精品| 欧美视频一区二区三区四区| 久久综合色之久久综合| 蘑菇福利视频一区播放|