Python实时监控CPU使用率

thbcm阅读(360)

本文转载至知乎ID:Charles(白露未晞)知乎个人专栏

下载W3Cschool手机App,0基础随时随地学编程
>>戳此了解

导语

早上起来随手写的脚本。

利用Python实时监控CPU使用率。

感觉应该还是有用武之地的,于是过来发一波文。

支持Linux和Windows系统。

Let’s Go~~~

相关文件

网盘下载链接: 💡 温馨提示:使用手机网盘APP转存,即可🎁 订阅更新本资源。后续更新都会直接推送至您的网盘,并收到APP订阅通知,无需再次寻找链接!

百度网盘链接:https://pan.baidu.com/s/1RKoYqqg74TyxKeDAEPqrhg
" target="_blank">
💡 温馨提示:使用手机网盘APP转存,即可🎁 订阅更新本资源。后续更新都会直接推送至您的网盘,并收到APP订阅通知,无需再次寻找链接!
百度网盘链接:https://pan.baidu.com/s/1RKoYqqg74TyxKeDAEPqrhg

密码: xuuy

开发工具

测试系统:

Win10和Ubuntu

Python版本:3.5+

相关模块:

matplotlib模块;

psutil模块。

环境搭建

安装Python并添加到环境变量,pip安装需要的相关模块即可。

注意:

Ubuntu自带的Python不包含TK模块,需要使用:

sudo apt-get install python3-tk

命令自行安装。

参考文档

psutil文档:

https://psutil.readthedocs.io/en/latest/

matplotlib文档:

https://matplotlib.org/users/index.html

具体实现过程详见相关文件中的源代码。

最近都是比较简单的脚本,没什么原理思路T_T

使用演示

在cmd窗口运行monitor.py文件即可。

运行截图:

(1)Ubuntu

(2)Windows10

视频演示:

更多

代码截止2018-04-15测试无误。

Python实现AI五子棋【初版】

thbcm阅读(362)

本文转载至知乎ID:Charles(白露未晞)知乎个人专栏

下载W3Cschool手机App,0基础随时随地学编程
>>戳此了解

导语

闲来无事写了个比较愚蠢的AI五子棋。

T_T当然你好好和它下,它还是比较机智的。

让我们愉快地开始吧~~~

相关文件

网盘下载链接: 💡 温馨提示:使用手机网盘APP转存,即可🎁 订阅更新本资源。后续更新都会直接推送至您的网盘,并收到APP订阅通知,无需再次寻找链接!

百度网盘链接:https://pan.baidu.com/s/1DV09ZdyNMoZF2KoKQ4GH_A
" target="_blank">
💡 温馨提示:使用手机网盘APP转存,即可🎁 订阅更新本资源。后续更新都会直接推送至您的网盘,并收到APP订阅通知,无需再次寻找链接!
百度网盘链接:https://pan.baidu.com/s/1DV09ZdyNMoZF2KoKQ4GH_A

密码: ujrh

开发工具

Python版本:3.6.4

相关模块:

graphics模块。

环境搭建

安装Python并添加到环境变量即可。

注:

graphics模块在相关文件中已经提供,就是一个py文件,直接放在当前路径或者放到python安装文件夹下的site-packages文件夹内均可。

原理简介

对于五子棋这样的博弈类AI,很自然的想法就是让计算机把当前所有可能的情况都尝试一遍,找到最优的落子点。这里有两个问题:

(1)如何把所有可能的情况都尝试一遍;

(2)如何定量判断某落子点的优劣。

对于第一个问题,其实就是所谓的博弈树搜索,对于第二个问题,其实就是所谓的选择评估函数。评估函数的选取直接决定了AI算法的优劣,其形式也千变万化。可以说,每个评估函数就是一个选手,对不同的棋型每个选手自然有不同的看法和应对措施,当然他们的棋力也就因此各不相同了。

但博弈树搜索就比较固定了,其核心思想无非是让计算机考虑当前局势下之后N步所有可能的情况,其中奇数步(因为现在轮到AI下)要让AI方的得分最大,偶数步要让AI方的得分最小(因为对手也就是人类,也可以选择最优策略)。

当然这样的搜索其计算量是极大的,这时候就需要剪枝来减少计算量。例如下图:

其中A代表AI方,P代表人类方。AI方搜索最大值,人类方搜索最小值。因此Layer3的A1向下搜索的最终结果为4,Layer3的A2向下搜索,先搜索Layer4的P3,获得的分值为6,考虑到Layer2的P1向下搜索时取Layer3的A1和A2中的较小值,而Layer3的A2搜索完Layer4的P3时,其值就已经必大于Layer3的A1了,就没有搜索下去的必要了,因此Layer3到Layer4的路径3就可以剪掉了

上述搜索策略其实质就是:

minimax算法+alpha-beta剪枝算法。

了解了上述原理之后,就可以自己写代码实现了。当然实际实现过程中,我做了一些简化,但万变不离其宗,其核心思想都是一样的。

具体实现过程详见相关文件中的源代码。

使用演示

在cmd窗口运行GobangAI.py文件即可。

下面的视频是我和AI的一局对弈,我执黑先行,所以赢的比较轻松T_T。毕竟五子棋先手者优势巨大,或者说在某些情况/规则下是必胜的。至于原因,在相关文件中提供了两篇论文,感兴趣的可以看看。

更多

之后有时间的话会研究一下基于深度学习的AI五子棋算法,目前这个版本还是比较low的,当然你好好和它下的话,它还是可以走出一些精妙的步子的。

T_T没有仔细测试,如果有什么bug可以留言反馈给我,我会进行修复。

Python简单分析高考数据

thbcm阅读(322)

本文转载至知乎ID:Charles(白露未晞)知乎个人专栏

下载W3Cschool手机App,0基础随时随地学编程
>>戳此了解

导语

不像考卷,现实生活中,有些事永远没有答案。

导语

2018年的高考已经过去了一周,热点也逐渐从高考转向了世界杯,不乐意当伪球迷的我还是选择简单且随意地分析一下高考的一些数据~~~

让我们愉快地开始吧~~~

相关文件

相关文件

网盘下载链接: 💡 温馨提示:使用手机网盘APP转存,即可🎁 订阅更新本资源。后续更新都会直接推送至您的网盘,并收到APP订阅通知,无需再次寻找链接!

百度网盘链接:https://pan.baidu.com/s/1zvVTTxfjmrTxjjX_M_DoEA
" target="_blank">
💡 温馨提示:使用手机网盘APP转存,即可🎁 订阅更新本资源。后续更新都会直接推送至您的网盘,并收到APP订阅通知,无需再次寻找链接!
百度网盘链接:https://pan.baidu.com/s/1zvVTTxfjmrTxjjX_M_DoEA

密码: 9jyd

相关文件中包含本文所涉及到的所有源代码和数据。

数据源于网络,不保证其完全可靠。

开发工具


开发工具

Python版本:3.6.4

相关模块:

pyecharts模块;

以及一些Python自带的模块。

环境搭建

环境搭建

安装Python并添加到环境变量,pip安装需要的相关模块即可。

pyecharts模块的安装可参考:

安装Python并添加到环境变量,pip安装需要的相关模块即可。

额外说明:

pyecharts模块安装时请依次执行以下命令:

pip install echarts-countries-pypkg

pip install echarts-china-provinces-pypkg

pip install echarts-china-cities-pypkg

pip install pyecharts

若安装过程中出现:

‘utf-8’ codec can’t decode byte 0xb6

或者类似的编码错误提示。

可尝试修改Python安装文件夹下如下图所示路径下的__init__.py文件的第75行代码:

修改为下图所示内容:

“一本正经的分析”

开始分析

首先让我们来看看从恢复高考(1977年)开始高考报名、最终录取的总人数走势吧:

T_T看来学生党确实是越来越多了。

不过这样似乎并不能很直观地看出每年的录取比例?Ok,让我们直观地看看吧:


看来上大学越来越“容易”之说不是空穴来风的,总录取比例高的可怕~~~

那么各省的情况呢?

由于各省高考最终录取人数的统计标准不一样,有些是只统计本科,有些是都统计的,为了避免统计标准不一而带来的不公平对比,我们只分析各省的高考报考人数。

从2010年开始到今年(2018年)各省份高考考生数量的分布图如下:

T_T河南的高考考生人数真是一枝独秀。

那么各省的大学数量又是如何分布的呢?以公办本科大学数量作为统计标准,其分布图大概是这样的:

Emmm。北京和江苏分别位居第一和第二名。想想也是必然T_T

那么985&211高校的分布又如何呢?

“那就这样吧,再爱都曲终人散了。”看到这个默默不说话了。

以省份为x轴,年份为y轴,该年该省报考的考生人数为z轴来更直观地看看各省每年的高考考生数量变化情况吧:

上图中省份的顺序是这样的:

北京、四川、陕西、江西、吉林、宁夏、广西、内蒙古、甘肃、西藏、福建、上海、广东、山东、浙江、河南、安徽、江苏、河北、黑龙江、湖南、湖北、山西、云南、贵州、海南、辽宁、重庆、天津、青海、新疆,台湾因为没有数据,所以没有加入。

T_T河南的高考考生数量真的恐怖。

Emmm,因为可用的数据不多,再分析下去大概就是花式的做图游戏了,想想还是算了吧。至于个人观点,还是不发表为好。毕竟,大家的“哈姆雷特”都不一样。

更多

更多

相关文件中包含了本文所涉及到的所有源代码、数据和结果,其中,数据来源网络,本人不保证其可靠性。

运行源代码前需将对应的注释去除。

【Python】利用邮件远程控制自己电脑

thbcm阅读(332)

本文转载至知乎ID:Charles(白露未晞)知乎个人专栏

下载W3Cschool手机App,0基础随时随地学编程
>>戳此了解

导语

最近经常需要简单地远程控制一下电脑,比如远程查看一下电脑上模型训练的情况,模型训练完之后远程关闭电脑等等,于是就想着利用python来简单地实现一下这些功能,直接利用邮件远程控制自己电脑。

让我们愉快地开始吧~

相关文件

网盘下载链接: 💡 温馨提示:使用手机网盘APP转存,即可🎁 订阅更新本资源。后续更新都会直接推送至您的网盘,并收到APP订阅通知,无需再次寻找链接!

百度网盘链接:https://pan.baidu.com/s/1yWiZPWKE44n1UxgkdFfMlQ
" target="_blank">
💡 温馨提示:使用手机网盘APP转存,即可🎁 订阅更新本资源。后续更新都会直接推送至您的网盘,并收到APP订阅通知,无需再次寻找链接!
百度网盘链接:https://pan.baidu.com/s/1yWiZPWKE44n1UxgkdFfMlQ

密码: 8jiq

开发工具

Python版本:3.6.4

相关模块:

PIL模块;

email模块;

以及一些Python自带的模块。

环境搭建

安装Python并添加到环境变量,pip安装需要的相关模块即可。

原理简介

一. 思路

电脑每隔一段时间查看指定邮箱中是否收到了新的邮件,若未收到,则不进行任何操作,若收到了,则判断发件人的身份,若发件人为合法的控制者,则解析发件人的邮件,执行解析结果,否则忽略该邮件。

二. 具体实现

(1)收发邮件

我们利用POP3协议来收取邮件,利用SMTP协议来发送邮件,python内置对着两个协议的支持,因此具体实现起来十分简单轻松。

注1:

此处推荐廖雪峰的Python教程,里面有关于收发邮件的详细介绍,我就不搬砖了。

注2:

电脑端邮箱本人使用了新浪邮箱,手机端邮箱本人使用了QQ邮箱。

(2)查看电脑状况

直接利用PIL模块的ImageGrab.grab()函数对电脑进行截屏,然后通过邮件把电脑截屏发送到手机上。

如果想查看模型运行的情况,走之前把模型训练界面显示在桌面上就可以啦~

(3)可扩展性

除了查看电脑状况外,目前仅支持利用cmd命令控制电脑,若需要添加其他功能,可在下图所示的位置上添加:

(4)易用性

cmd命令太长手机上打起来不方便或者记不住怎么办?你可以在word2cmd.json中设置快捷命令语:

(5)FAQ

① 电脑端发送邮件失败?

解决方案:

若电脑端发送的邮件被识别为垃圾邮件使得手机端无法查看电脑状况时,可用手机登陆电脑端使用的邮箱,查看被退回的邮件,这样就可以在手机上查看电脑运行状况了。

注3:

若为手机端邮箱拒收,可以设置一下白名单。

② 电脑端无法登陆邮箱?

解决方案:

你需要开启SMTP和POP3服务:


密码应为客户端授权密码,而非登陆密码。当然新浪邮箱的登录密码即为客户端授权密码。

That’s All.

完整源代码请自行参考相关文件。

使用演示

Step1:修改配置文件

必须修改的配置文件为:

config.json。

作用:

设置电脑端和手机端邮箱的信息。手机端邮箱的信息用于验证发信人是否为合法控制电脑者,电脑端邮箱的信息用于电脑端接收和发送邮件。

若需要加密SMTP会话,请设置enable_ssl为true,并设置正确的端口号。

选择修改的配置文件为:

word2cmd.json。

作用:

设置快捷命令语。

Step2:运行Server.py文件

发送指令:

执行指令:

结果:

That’s All.

更多

代码截止2018-08-07测试无误。

相关文件中提供了打包好的EXE文件版本,无需配置环境即可使用。

W3Cschool本周更新

thbcm阅读(299)

W3Cschool本周更新内容:

 

即将新增的付费视频课程:

  1. 《java基础视频课程》
  2. 《ThinkPHP》
  3. 《C++》 

正在更新内容的课程:

优化:

优化了视频类课程学习体验

Python实用教学:

Python实用教学:如何用Python玩转各大网站

更多精彩,请继续关注W3Cschool~

w3cschool新上线6门免费编程视频课 至“砥砺前行”的你

thbcm阅读(292)

导语:有一群人,一直砥砺前行,充实自己。

在如今这个“娱乐至死”的时代,碎片化时间充斥了大量的短视频和手游情况下,w3cschool的小伙伴,用一种“获取知识当做娱乐”的生活方式砥砺前行。

作为w3cschool的一个小编,在w3cschool工作中最大的收获和震惊就是知道,原来总有些人活的和别人不一样。

有人在公交车上,打了一把王者荣耀,而有人则是看了一个python的爬虫视频;有人会用2个小时孜孜不倦的刷着抖音,而在上厕所的10分钟看了一个关于“区块链”技术的视频。

这两者生活方式都没有错,有的人愿意去娱乐中找寻生活的一丝乐趣,也有人通过学习来找寻自己人生的意义,无关对错,人生方向不同罢了。

只是后者更让小编佩服,因为学习是枯燥的。

曾经有人说过一句话:为什么我们能够忍受生活之苦,却无法忍受学习的苦呢?

学习其实不苦,没有头绪盲目学习才是最痛苦的!

w3cschool作为国内老牌的在线编程语言学习平台,只有一个原则,为用户提供优质的内容服务。

w3cschool一直在思考如何能够最大限度的为我们的小伙伴提供帮助,如何让小伙伴体会学习的乐趣。

所以这次w3cschool做了一个非常大的改动,引入视频课程

这次w3cschool与国内精英讲师合作,出品各编程语言的精品课程,每一门课程都是由w3cschool精心挑选与审核,保证让我们的小伙伴学有所成。

web前端课程

web前端课程是由知名讲师“小甲鱼”带来的。

小甲鱼老师在编程教学行业可是大名鼎鼎,其风趣幽默的教学风格受到广大学习者的喜爱,多么枯燥的知识,经过他的“风趣”讲解,都能够让小伙伴茅塞顿开。

小甲鱼这次带来的课程是《2018web前端课程》,这门课程目前还在更新中,小伙伴喜欢的话,可以持续关注!

点击图片查看视频课程

PHP系列课程

10天零基础学习PHP(入门篇)

本门课程免费开启,每天2-3小时,坚持10天,即可PHP零基础入门,接触世界上最好的语言。

根据W3Techs最新2018年Web开发语言统计榜,全球网站开发用到PHP的站占83.2%。

在国内,80%互联网网站使用php开发。例如著名的Facebook、新浪微博等都是用PHP进行开发的。

点击图片查看视频课程

Laravel框架课程

Laravel被称为PHP中最优雅的框架,也是国外最主流的框架,而且在github关注人数排名前三,可想而知这个框架是多么受人欢迎。

Laravel目前也被国内越来越多企业接受,所以学习Laravel能够极大的提升个人竞争力。

这次Laravel课程是由国内著名讲师郭孟涛老师带来的,郭孟涛老师曾任中国传媒大学的网站技术总监,后来主要从事技术讲师,他的讲课风格时而言简意赅,时而娓娓道来,将枯燥无味的“天书”柔化为一条条大白话,因此受到了广大学员的喜爱。

点击图片查看视频课程


数据库系列教程

2018SQL入门:SQLServer基础

本门课程免费开启。

在计算机的世界里所有程序的根本都是通过各种花样的页面与交互去处理数据。

严格来说,数据才是根本,程序只是控制处理数据的一种手段,而SQL是计算机世界里用于处理数据的脚本语言。

点击图片查看视频课程


2018SQL优化

本门课程免费开启。

业务系统的数据量逐年增加,并发量也成倍增长,为了提高数据库效率及提供更好的用户体验,数据库性能优化的工作就显得极其重要。

那么我们可以从哪些方面对我们的数据库进行优化呢?

让我们通过这门课程共同探讨一起学习吧!

点击图片查看视频课程


Java系列课程

java web实战开发(java进阶)

本门课程免费开启。

本视频课程将系统学习Java Web基础知识及常用功能。

将所学知识点及常用功能进行串联,逐步深入、加深记忆,最终达成Java Web小白入门Web网站开发!

坚持每天抽出2-3小时进行学习,系统学习Java Web基础知识及常用功能,22天完成Java Web的学习。

点击图片查看视频课程

Spring Boot基础入门

本门课程免费开启。

Spring Boot已成为主流的Java框架之一,2016年之后,Java程序员,已经到了必须掌握Spring Boot的时候。

每节20分钟左右, 285分钟即可入门Spring Boot!

点击图片查看视频课程

更多精彩正在来的路上,让我们一起期待!

W3Cschool PHP进阶课上线,Laravel框架免费试学!

thbcm阅读(319)

世界上最好的语言是什么?PHP!

PHP为WEB而生,如今处于稳中求升的阶段,只要互联网在,短期内是没有什么语言能够取代它的!

PHP框架是学习PHP基础语法后非常重要的一环,说句功利性一点的话,他决定了你是否能够找到好的工作。

PHP的学习方法路线图很简单,如果你是零基础,那么前期大概要花7天时间学一下前端基础,再花10天时间学一下PHP语法,然后花1至2天学一下数据库基础,基本上这样,你就可以去找PHP工作。

但是,这是以前,这些年随着编程人才的井喷式爆发,编程工作岗位的竞争开始变得激烈,虽然市场缺口依旧大,但是企业对人才开始有一定的要求,不像以前,你只要稍微会一些,企业就会招你进来。

现在PHP岗位,除了上面的基本要求之外,还会要求应聘者会1到2个框架,也就是我们今天重要介绍的PHP框架。

 

目前国内最主流的三个框架分别是:ThinkPHP、Yii、Laravel。 

其中ThinkPHP是国内使用人数最多的框架,按理说只要学会ThinkPHP这个框架就可以通用,但是近几年情况似乎有点改变。

在聊这个之前,我们先来聊一个题外话:为什么那么多已经领了非常高薪资的程序员,还一直在持续不断学习? 

有一次,我和我一个朋友闲叙,就问起这个问题。

他给了我两个解释:1.学无止境。2.技术革新太快,不学习,以前学的东西跟不上,程序员的学习是一种被迫的学习。 

当然,他也提到学习成本不高,毕竟技术个性也不会离开原来的那些基础知识,但是一定要保持学习的心态。

其实这个题外话,已经解释了为什么还要多学一个框架的原因,很简单,很多公司开始使用Laravel这个框架进行开发。 

举个例子,有两个面试者,一个会ThinkPHP,另外一个除了会ThinkPHP之外,还会Laravel,那么公司会招哪个面试者。

答案很显然,所以学习是提升自己的个人竞争力,更何况Laravel这么号称最优雅的PHP框架,不了解一下,好意思说自己是学PHP的么。 

另外Laravel也是国外最主流的PHP框架,在GitHub中,Laravel关注人数排名前三,而且国内越来越多的企业开始使用Laravel框架。

我一个朋友最近刚好找工作,他就发现这个很多企业都有要求对Laravel有所涉猎。

虽然我不清楚是不是他刚好碰到几家公司刚好是使用Laraverl,但是学Laravel至少让自己的个人竞争力提升,这点是毫无疑问的。

好了,大概就这样,接下来是这篇文章的重点: w3cschool上线Larave从零基础进阶视频课程,这是一门PHP进阶精品课。

主讲老师是著名的PHP培训师郭孟涛老师

他是目前国内为数不多的资深技术讲师,也是国外Udemy Laravel5.6的主讲人,已推出500多节技术类课程,有着丰富的网站项目经验。

各位小伙伴快来免费试学《【PHP进阶】从零基础学习Laraverl 5.6》,目前这门课程已经上线官网编程微课,小伙伴也可以通过APP来直接免费试学。

W3Cschool开发者,前端要凉?微软开源 Sketch2Code,草图秒变代码

thbcm阅读(273)

1、前端要凉?微软开源 Sketch2Code,草图秒变代码

微软开源 Sketch2Code,Sketch2Code 是一个基于 Web 的解决方案,使用 AI 将手绘的用户界面草图转换为可用的 HTML 代码。Sketch2Code 由微软和 Kabel、Spike Techniques 合作开发。(项目地址:https://github.com/Microsoft/ailab/tree/master/Sketch2Code

 

2、为满足科研需求谷歌发布数据集搜索服务

谷歌的目标是对全世界的信息进行组织和管理。该公司最初瞄准了商业网络,而目前谷歌想要用新的数据集搜索引擎,为科学界提供服务。这个名为“数据集搜索”(Dataset Search)的新服务于今天推出,将成为谷歌学术搜索服务的伴侣服务。在网上发布数据的机构,例如大学和政府部门,可以在网页中加入元数据标签,以描述他们的数据,包括谁创建了数据、何时发布数据,以及如何收集数据。

3、腾讯安全发布恶意电话黑产报告

近日,腾讯安全发布《反诈新常态下的恶意电话产业链探秘》,这份报告总结了当前恶意电话的主要类型、涉案行业和受骚扰的主要人群。

根据腾讯安全发布的报告,2018年,我国恶意电话增长呈现上升趋势,该报告指出,腾讯安全反诈骗实验室每天收到超过1000万次的用户标记号码行为,从2017年11月开始,恶意电话活跃度为11亿次,而到了2018年8月这一数据达到峰值,约为19亿次。

4、Visual Studio Code 1.27 发布,新特性来袭

Visual Studio Code 1.27 已发布,一些主要的更新亮点包括:

  • Settings editor – 新的设置编辑器 UI,用于发现,搜索和修改 VS 代码设置。
  • Custom menu bar – Windows 和 Linux 上均可用的标题和菜单栏按钮。
  • Breadcrumbs improvements – 使用 breadcrumbs 导航时突出显示的符号。
  • ……(详情:https://code.visualstudio.com/Download

5、制作图表的纯 Javascript 类库 Highcharts 6.1.2 发布

Highcharts 6.1.2 发布了,更新如下:

  • Added parameter to xAxis.labels.formatter in addition to scope, allowing arrow functions as formatters. Closes #8580.
  • Adjusted the threshold for when a contrasted data label turns white or black.
  • ……(详情:https://www.highcharts.com/download

6、Node.js v10.10.0 发布,带来多项稳定更新

Node.js v10.10.0 发布了。主要更新内容如下:

child_process:

  • 现在,execFileSync 和 spawnSync 接受 TypedArray 和 DataView 值作为输入。 #22409

(详情:https://nodejs.org/en/blog/release/v10.10.0/

W3Cschool中秋节不免俗活动!

thbcm阅读(306)

中秋节即将到来,w3cschool全体员工祝各位小伙伴“中秋快乐,敲代码一帆风顺,万事如意!”

 

这次中秋节w3cschool不能免俗,中秋节回馈活动开启。

 

9.21~9.27期间,小伙伴们只要开通VIP会员,除了可享受VIP的特权外,w3cschool还将返还现金券

 

备注:

如果你已经购买了的VIP会员也同样享受现金券返还活动权益,1-3个工作日发放完毕,到时可在优惠券中心查看现金券到账情况。(将于9月25日24点前发放完毕,未收到的稍等,正在分批整理发放中)

返还规则如下

开通标准VIP用户,可获得50元现金券礼包,分别为:

1、10元通用现金券(全场通用券); 

2、10元微课代金券(满20元可用);

3、30元第三方课程现金券。

开通高级VIP会员。可获得100元现金券礼包,分别为:

1、20元通用代金券*2(全场通用券); 

2、30元第三方课程代金券*2(第三方课程通用券)

代金券查看地址:我的代金券

 APP用户请在:“我的”——“我的代金券”查看你的代金券。

VIP特权链接:

https://www.w3cschool.cn/vip

备注:

VIP的特权会持续增加,本周新增swift微课,优化了微课的解析、编程实战解析。

最后,再次祝福w3cschool的各位小伙伴,学习之路长夜漫漫,愿你我不忘初心。

本次网站新增课程

1、《PHP进阶框架——最优雅的框架laravel5.6》

laravel是目前PHP三大框架之一,国内现在越来越多企业在使用这个框架,学习这个课程有助于提升你职场竞争力。(点击图片查看)

 

2、《ThinkPHP5.1框架——国内主流框架》

 

ThinkPHP5.1是目前国内互联网企业最主流的框架,可以说这门框架是PHP必学的课程之一。(点击图片查看)

3、《PHP课程实战:更强大的留言板》

 

这门课程是《10天学习PHP》的进阶与总结,根据之前学过的知识,来进行一个项目实战(项目名称:更强大的留言板),通过实战来巩固PHP基础语法知识。(点击图片查看)

 

4、《Spring:学习Quartz分布式任务调度》

 

现在学习Java,Spring这个框架几乎是绕不开的,属于必学,这个课程是由浅入深,深入解析quatz、spring+quatz,一定对你的职业技能有很大的帮助(点击图片查看)

 

5、《秒杀系统:由浅入深学习(真实工业界案例)》

 

秒杀系统在电商中非常受欢迎,一个秒杀系统可以解决瞬间爆发的访问压力和海量的交易数据。

本课程最后提供了一个完整的项目代码,具有很高的商业价值,大家可以根据自己的业务进行修改,便可以使用。(点击图片查看)

 

6、《Vue、Angular、React 项目开发与深度对比》

 

Vue 、Angular 、React(var)是目前前端的三大框架,也是最热的前端框架,属于JS进阶课程,也是前端工程师必备的技能之一。(点击图片查看)

Python爬取并简单分析鱼油数据

thbcm阅读(344)

本文转载至知乎ID:Charles(白露未晞)知乎个人专栏

下载W3Cschool手机App,0基础随时随地学编程
>>戳此了解

导语

利用Python爬取并简单分析鱼C论坛的鱼油数据。因为不想影响论坛的正常运作,给论坛服务器带来不必要的压力,所以爬虫代码里写了很多sleep语句,花了大概一个星期的时间凑了40万条数据(然后数据清洗的时候发现大部分数据是无效的T_T)。因为数据都在相关文件里提供了,所以就不要自己重新爬了,因为论坛仿佛没有什么反爬措施,所以爬虫代码并没有什么学习价值,随便瞟一眼就行了。

OK,让我们愉快地开始吧~

相关文件

网盘下载:
💡 温馨提示:使用手机网盘APP转存,即可🎁 订阅更新本资源。后续更新都会直接推送至您的网盘,并收到APP订阅通知,无需再次寻找链接!

百度网盘链接:https://pan.baidu.com/s/1AEzG2gOOpO47Kl9ORnfSxg
" target="_blank">
💡 温馨提示:使用手机网盘APP转存,即可🎁 订阅更新本资源。后续更新都会直接推送至您的网盘,并收到APP订阅通知,无需再次寻找链接!
百度网盘链接:https://pan.baidu.com/s/1AEzG2gOOpO47Kl9ORnfSxg
  提取码: yk8n

开发工具

Python版本:3.6.4

相关模块:

requests模块;

fake_useragent模块;

pyechart模块;

以及一些python自带的模块。

环境搭建

安装Python并添加到环境变量,pip安装需要的相关模块即可。


原理简介

其实爬虫的文章我一般写的比较水,然后偶尔瞅了瞅别人的文章,发现基本是数据获取,清洗,最后可视化分析这个流程,于是打算稍微模仿一下,虽然我可能还是会写的比较随意and极其不专业。


数据获取:

这部分很简单,鱼C论坛每个鱼油的个人主页除了uid不同,其他都是一样的:


挨个请求每个鱼油个人主页的url,然后把返回的内容保存起来就可以了:


最后获得的数据大概这么多,一共40万条左右吧,虽然大部分是无效的。



数据清洗:

接下来我们从每个鱼油的个人主页中提取一些有用的数据,例如性别、生日、出生地、学历等内容,具体代码实现如下:


最后剩下的数据大概这么多:


他喵的这也太真实了吧,最后大概只剩下了1万多条数据,简直了。然后我去看了下,发现很多鱼油的主页是这样的:


还有很多uid是无效用户:


本来想重新爬的,后来感觉还得拖几天太麻烦了,算了,就这样吧,1万条数据也是数据啊,反正估计全爬完也没多少数据。


数据可视化分析:

首先,让我们来看看鱼C论坛鱼油们的男女比例吧:


Emmmm,原来论坛里还是有女生的,我一直以为是没有女生的。

OK,接下来我们来看看论坛里的鱼油学历分布情况吧:


竟然有将近200个博士,惊讶ing。

OK,接下来我们来看看论坛鱼油们的省份分布吧,这里只统计了国内的鱼油:


看了鱼C论坛的鱼油们来自五湖四海,当然在广东省的鱼油是最多的,目测论坛的坛主小甲鱼应该是广东人吧。

再接下来,我们来看看鱼C论坛鱼油的年龄分布吧:


估计论坛里的鱼油大部分还是90后的学生党吧,虽然90后大多应该已经毕业了。

最后,我们再来看看论坛里哪个鱼油比较土豪吧,也就是鱼币和C币最多的鱼油,统计结果如下图所示:


本来想再分析分析技术值最高的鱼油之类的,不过饭点到了,那就算了吧T_T。感兴趣的同学可以自己下载数据继续分析分析。

嗯,就这样吧,至少这类文章的写作步骤应该模仿对了,完整源代码和数据详见相关文件。


更多

代码在2018年9月14日前测试无误

联系我们