大神手机温控怎么删除除温控,求助

中国领先的IT技术网站
51CTO旗下网站
使用python和tableau对数据进行抓取及可视化
本篇文章介绍使用python抓取贷款及理财平台的数据,并将数据拼接和汇总。最终通过tableau进行可视化。与之前的python爬虫文章 不同之处在于之前是一次性抓取生产数据表,本次的数据需要每天重复抓取及存储,并汇总在一起进行分析和可视化。
作者:蓝鲸来源:| 15:47
本篇文章介绍使用python抓取贷款及理财平台的数据,并将数据拼接和汇总。最终通过tableau进行可视化。与之前的python爬虫文章
不同之处在于之前是一次性抓取生产数据表,本次的数据需要每天重复抓取及存储,并汇总在一起进行分析和可视化。
开始前的准备工作
开始之前先导入所需使用的库文件,各个库文件在整个抓取和拼表过程中负责不同的部分。Requests负责页面抓取,re负责从抓取下
来的页面中提取有用的信息,pandas负责拼接并生成数据表以及最终的数据表导出。
&/pre&&#导入requests库(请求和页面抓取)&import&requests&#导入正则库(从页面代码中提取信息)&import&re&#导入科学计算库(拼表及各种分析汇总)&import&pandas&as&pd&&pre&&&
设置一个头文件信息,方便后面的抓取。这个头文件有两个作用,第一防止抓取时被封,第二方便后面对页面源文件的转码。
&/pre&&#设置请求中头文件的信息&headers&=&{'User-Agent':'Mozilla/5.0&(Windows&NT&6.1)&AppleWebKit/537.11&(KHTML,&like&Gecko)&Chrome/23.0.1271.64&Safari/537.11',&'Accept':'text/q=0.9,*/*;q=0.8',&'Accept-Charset':'ISO-8859-1,utf-8;q=0.7,*;q=0.3',&'Connection':'close',&'Referer':'https://www.bluewhale.cc/'&}&&pre&&&
抓取贷款及理财信息
准备工作完成后开始对贷款和理财信息进行抓取,这里我们偷个懒,直接抓取的信息。是一个网贷咨询及数据
平台,内容很丰富。他们定期更新各平台的贷款及理财数据。
因为所有的网贷平台信息都在一页上,所以抓取起来比较简单,不需要翻页。下面是抓取并保存页面信息的代码。
&/pre&&#抓取并保存页面信息&r=requests.get('/shuju/ptsj/',headers=headers)&html=r.content&&pre&&&
抓取下来的信息需要进行转码才能变成有用的信息,下面对页面源代码进行GBK转码。
&/pre&&#对抓取的页面进行编码&html=str(html,&encoding&=&&GBK&)&&pre&&&
查看一下转码后的页面,我们需要的信息都包含在里面了。后面只需要使用正则表达式逐个提取出来就可以了。
&/pre&&#查看抓取的页面源码&html&&pre&&&&
提取信息并进行数据清洗
使用正则表达式对应着页面中的字段逐个将关键数据从页面源码中提取出来,下面是具体的过程,首先提取的是平台名称字段。在页
面源码中平台名称在title中。
&/pre&&#使用正则提取title字段信息&title=re.findall(r'&return&false&.*?title=&(.*?)&',html)&&pre&&&
提取后查看下结果,内容很干净,不需要进行清洗可以直接使用。
&/pre&&#查看title字段信息&title&&pre&&&&
这里有一点要注意的是每个提取出来的字段最好都要检查下,并且查看下数据的条目。因为有时候提取的条目中包含有其他的信息,
导致字段间条目数量不一致,这种情况下后面是无法拼接成数据表的。
&/pre&&&#查看title字段数量&&len(title)&&607&&&pre&&&
按照提取平台名称title的方法,后面我们依次提取了贷款利率,贷款金额,满标时间等关键信息。下面是具体的代码。
&/pre&&&#使用正则提取total字段信息&&total=re.findall(r'&total&&(.*?)万&',html)&&#使用正则提取rate字段信息&&rate=re.findall(r'&rate&&(.*?)&',html)&&#使用正则提取pnum字段信息&&pnum=re.findall(r'&pnum&&(.*?)人&',html)&&#使用正则提取cycle字段信息&&cycle=re.findall(r'&cycle&&(.*?)月&',html)&&#使用正则提取plnum字段信息&&p1num=re.findall(r'&p1num&&(.*?)人&',html)&&#使用正则提取fuload字段信息&&fuload=re.findall(r'&fuload&&(.*?)分钟&',html)&&#使用正则提取alltotal字段信息&&alltotal=re.findall(r'&alltotal&&(.*?)万&',html)&&#使用正则提取captial字段信息&&capital=re.findall(r'&capital&&(.*?)万&',html)&&&pre&&&
由于后面我们要对数据进行累计追加及趋势分析,因此在这里导入time库生成当天的日期,并将日期作为一个字段一起放在数据表。
&/pre&&&#导入time库(获取日期)&&import&time&&date=time.strftime('%Y-%m-%d',time.localtime(time.time()))&&&pre&&&当天的日期信息将和数据一起生成数据表。&&&/pre&&&#日期&&date&&''&&&pre&&&
创建贷款及理财数据表
将前面提取出来的数据和日期信息一起生成数据表,首先使用columns参数设置数据表中各字段的排列顺序。
&/pre&&&#设置数据表各字段顺序&&columns&=&['采集日期','平台名称','成交额(万)','综合利率','投资人(人)','借款周期(月)','借款人(人)','满标速度(分钟)','&&累计贷款余额(万)','净资金流入(万)']&&&pre&&&
然后设置各字段的名称,并生成数据表。
&/pre&&&#创建数据表&&table=pd.DataFrame({'采集日期':date,&&'平台名称':title,&&'成交额(万)':total,&&'综合利率':rate,&&'投资人(人)':pnum,&&'借款周期(月)':cycle,&&'借款人(人)':p1num,&&'满标速度(分钟)':fuload,&&'累计贷款余额(万)':alltotal,&&'净资金流入(万)':capital},&&columns=columns)&&&pre&&&
查看生成的数据表,字段顺序与我们设置的一致,下一步把数据表导出为csv文件。便于后续的处理和分析。
&/pre&&&#查看数据表&&table&&&pre&&&&
导出及追加数据
将生成的数据表导出为csv文件。这里有两种导出方式。第一是新建数据表。但比较麻烦,后续要需要手动将每天的数据进行拼接。因
此还有第二种导出方式就是在一个数据表中不断追加新数据。
第一种方式将数据表导出为一个新的csv文件,文件名为wdty加上数据抓取的具体日期,也就是date中的值。
&/pre&&&#导出csv文件&&table.to_csv('C:\\Users\\&Desktop\\wdty'+date+'.csv',index=False)&&&pre&&&
第二种方式是在一个csv文件中持续追加导出新的数据表。这里我们建立一个wdty的csv文件,每天抓取的数据都会追加到这个csv文件
中。代码与之前的新建csv文件类似,唯一的区别是增加了mode参数,这个参数默认值是w,也就是新建。把值改为a就是追加导出。
&/pre&&&#在历史csv文件中追加新信息&&table.to_csv('wdty.csv',index=False,mode='a')&&&pre&&&
以下是导出后的数据表截图。内容与前面创建的数据表内容一致。&
创建自定义函数
从导入所需的库文件,到提取数据拼接和导出,我们一共进行了30+步的操作。为了简化步骤,我们把这些步骤放在一个loan_data自
定义函数中。以后每次只需要执行以下这个自定义函数就可以将数据抓取下来并导出到csv里了。下面是具体的代码,其中为了获得代
码执行中的过程信息,我们在一些关键步骤后使用print输出了一些状态信息。并计算了整个代码执行所耗费的时间。
&/pre&&def&loan_data():&import&os&import&requests&import&re&import&pandas&as&pd&import&time&start&=&time.clock()&headers&=&{'User-Agent':'Mozilla/5.0&(Windows&NT&6.1)&AppleWebKit/537.11&(KHTML,&like&Gecko)&Chrome/23.0.1271.64&Safari/537.11',&'Accept':'text/q=0.9,*/*;q=0.8',&'Accept-Charset':'ISO-8859-1,utf-8;q=0.7,*;q=0.3',&'Connection':'close',&'Referer':'https://www.bluewhale.cc/'&}&r=requests.get('/shuju/ptsj/',headers=headers)&status=r.status_code&if&status&==&200:&print('页面抓取状态正常。')&else:&os._exit(0)&html=r.content&html=str(html,&encoding&=&&GBK&)&print('编码转换完成!')&title=re.findall(r'&return&false&.*?title=&(.*?)&',html)&total=re.findall(r'&total&&(.*?)万&',html)&rate=re.findall(r'&rate&&(.*?)&',html)&pnum=re.findall(r'&pnum&&(.*?)人&',html)&cycle=re.findall(r'&cycle&&(.*?)月&',html)&p1num=re.findall(r'&p1num&&(.*?)人&',html)&fuload=re.findall(r'&fuload&&(.*?)分钟&',html)&alltotal=re.findall(r'&alltotal&&(.*?)万&',html)&capital=re.findall(r'&capital&&(.*?)万&',html)&date=time.strftime('%Y-%m-%d',time.localtime(time.time()))&print('数据提取完成!')&columns&=&['采集日期','平台名称','成交额(万)','综合利率','投资人(人)','借款周期(月)','借款人(人)','满标速度(分&钟)','累计贷款余额(万)','净资金流入(万)']&table=pd.DataFrame({'采集日期':date,&'平台名称':title,&'成交额(万)':total,&'综合利率':rate,&'投资人(人)':pnum,&'借款周期(月)':cycle,&'借款人(人)':p1num,&'满标速度(分钟)':fuload,&'累计贷款余额(万)':alltotal,&'净资金流入(万)':capital},&columns=columns)&print('数据表创建完成!')&table.to_csv('C:\\Users\\cliffwang\\Desktop\\wdty'+date+'.csv',index=False)&print(date+'日数据导出完毕!')&table.to_csv('wdty.csv',index=False,mode='a')&print('累计数据追加导出完毕!')&end&=&time.clock()&print&(&执行时间:&%f&s&&%&(end-start))&&pre&&&
自定义函数写好后,每次只需要执行loan_data()就可以完成之前的30+步骤的工作了。下面是代码和输出的状态信息以及代码执行时间信息。
&/pre&&loan_data()&&页面抓取状态正常。&编码转换完成!&数据提取完成!&数据表创建完成!&日数据导出完毕!&累计数据追加导出完毕!&执行时间:&0.933262&s&&pre&&&
使用tableau进行可视化
导出的数据虽然为csv格式,但使用excel进行可视化并不理想,主要问题在于excel对图表行列数的限制(每张图最多只能容纳255个数
量列)。因此,我们将数据表导入到tableau中进行可视化。下面是对600+家网贷平台数据的可视化截图。尺寸为各平台总成交额,颜色为综合利率。&&
所有文章及图片版权归 蓝鲸(王彦平)所有。【编辑推荐】【责任编辑: TEL:(010)】
大家都在看猜你喜欢
专题头条头条头条原创
24H热文一周话题本月最赞
讲师:2人学习过
讲师:3人学习过
讲师:2人学习过
精选博文论坛热帖下载排行
本书全面介绍了Windows Server 2003 R2中最常用的各种服务,包括域名服务、动态IP地址服务、Windows名称服务、活动目录服务、Web服务、FTP...
订阅51CTO邮刊&&&&Tableau数据可视化实战(国内首本Tableau数据可视化著作,&透过7...
自营订单满39元(含)免运费
不足金额订单收取运费5元起
邀请好友参加吧
版 次:1页 数:字 数:印刷时间:日开 本:12k纸 张:胶版纸印 次:1包 装:平装是否套装:否国际标准书号ISBN:4丛书名:数据分析技术丛书所属分类:&&&
下载免费当当读书APP
下载当当读书APP,免费阅读万本电子书。
本商品暂无详情。
当当价:为商品的销售价,具体的成交价可能因会员使用优惠券、积分等发生变化,最终以订单结算页价格为准。
划线价:划线价格可能是图书封底定价、商品吊牌价、品牌专柜价或由品牌供应商提供的正品零售价(如厂商指导价、建议零售价等)或该商品曾经展示过的销售价等,由于地区、时间的差异化和市场行情波动,商品吊牌价、品牌专柜价等可能会与您购物时展示的不一致,该价格仅供您参考。
折扣:折扣指在划线价(图书定价、商品吊牌价、品牌专柜价、厂商指导价等)某一价格基础上计算出的优惠比例或优惠金额。如有疑问,您可在购买前联系客服咨询。
异常问题:如您发现活动商品销售价或促销信息有异常,请立即联系我们补正,以便您能顺利购物。
当当购物客户端手机端1元秒
当当读书客户端万本电子书免费读Tableau 8权威指南-图书 - 异步社区
2 可视化设计基础
3 数据连接详解
4 前10种图表类型
5 与查阅者互动
6 Tableau地图
7 计算字段、表计算、统计值
8 创建仪表板
9 可视化作品的分发与共享
附录 函数参照表
本书没有符合印次要求的勘误,赶紧登录后提交勘误赚积分吧!
¥59.00¥46.02
¥49.00¥38.22
纸质版+电子书
¥79.00¥61.62
纸质版+电子书
¥59.00¥46.02
纸质版+电子书
¥89.00¥69.42
纸质版+电子书
本书相关文章
阅读(154)推荐(0)

我要回帖

更多关于 红米note4x删除温控 的文章

 

随机推荐