作家
登录

使用python和tableau对数据进行抓取及可视化

作者: 来源: 2017-05-08 16:52:57 阅读 我要评论

应用python和tableau对数据进行抓取及可视化

本篇文┞仿介绍应用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>  

第二种方法是在一个csv文件中持续追加导出新的数据表。这里我们建立一个wdty的csv文件,天天抓取的数据都邑追加到这个csv文件

设置一个头文件信息,便利后面的抓取。这个头文件有两个感化,第一防止抓取时被封,第二便利后面对页面源文件的转码。

抓取贷款及理财信息

预备工作完成后开端对贷款和理财信息进行抓取,这里我们偷个懒,直接抓取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.  1/6    1 2 3 4 5 6 下一页 尾页

      推荐阅读

      数据显示Java热度持续下落,日子屈指可数?

    来自谷歌趋势的Java与JavaScript走势图 本年4月初,斯坦福大年夜学开端试履行计算机科学入门课CS 106A的新版本。这个名为CS 106J的新版本用JavaScript来教,而不是用Java来教。斯坦福大>>>详细阅读


    本文标题:使用python和tableau对数据进行抓取及可视化

    地址:http://www.17bianji.com/lsqh/35080.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)