Python制作简易浏览器

thbcm阅读(174)

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

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

导语

好久以前看到有人做过。。

今天心血来潮。。

就想自己试试。。

仅此而已。。

用的PyQt版本是5.10.。。

网上关于PyQt5.10的中文教程=None。。

所以最后做出来的效果一般(毕竟短时间内啃不动官方那全英文的教程)。。

So,

don’t get your hopes up…

相关文件

百度网盘下载链接: https://pan.baidu.com/s/1V95QG5PZCigx86S8hgf5Rg

密码: si8r

主要思路

主要实现的功能:

(1)可以正常显示网页;

(2)设置导航栏,用以实现浏览器的前进、后退、停止加载和刷新功能;

(3)设置地址栏,可以实时更新当前网页的URL,同时支持输入地址回车访问功能;

(4)设置标签页,可通过双击导航栏打开新的标签页,从而支持同时访问多个页面。

底层传输协议等功能的实现方式:

借助PyQt5的QtWebEngine模块。

具体实现过程见源代码(有较为详细的注释)。

不足之处

初步测试无Bug,但有时会有卡顿。。。

感兴趣者可自行优化。。。

欢迎后台交流(T_T如果不嫌弃我是刚入坑半天的小白的话)。。。

欢迎在后台提出修改意见。。。

若有必要,我可以再水一篇类似“Python制作简易浏览器(后续优化)”的文章hhhhh。。。

开发工具

Python版本:3.5.4

相关模块:

PyQt5模块(5.10版本)以及一些Python自带的模块。

环境搭建

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

使用演示

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

如下图所示:

更多

PyQt5快速入门文档已分享在此公众号底部菜单栏中,供有需要者参考。

文档主要参考了CSDN上的一些博文整理的且亲测PyQt5.10版本可用。

日后有时间将整理PyQt5.10版本完整使用文档。

Python实现浪漫表白

thbcm阅读(170)

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

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

导语

不要被上面的照片所迷惑。。。

Python做上面的照片?

不存在的。。。

只是最近看到好多jQuery+H5的表白代码。。。

想着用Python应该也可以?

Just have a try~~~

提前声明

T_T请不要信任我在这方面的审美水平;

T_T代码仅供参考,使用前请自行精心优化,否则被拒概率或许将高达99.99%。

相关文件

百度网盘下载链接: https://pan.baidu.com/s/1dc6-tFgBpAgnQUbci87l9Q

密码: yyrw

开发工具

Python版本:3.5.4

相关模块:

jieba模块、scipy模块、wordcloud模块、pygame模块、matplotlib模块以及一些Python自带的模块。

环境搭建

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

尝试一:画表白树

具体原理见源代码吧~~~

其实就是一个递归而已~~~

使用方式:

在cmd窗口运行Unburden.py文件即可:

效果:


尝试二:词云

原理也很简单就不多说了~~~

(T_T详见源代码)

使用方式:

在cmd窗口运行Confession.py文件即可:

效果图:

(1)英文情诗

(2)周董的歌

更多

确实没有什么精力去优化这些东西。。。

So,

如果你真的用到的话。。。

用之前一定要自己再精致地优化一波呀!!!

T_T

Python制作简易SSH登录工具

thbcm阅读(189)

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

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

导语

做这个的起因大概是:

电脑里的Xshell不知道为啥突然显示“评估期已过”之类的提示。。。

记得之前认证学校邮箱后是可以免费使用的。。。

苍天绕过谁。。。

想起上次认证学校邮箱过了N个小时才收到那封认证的邮件。。。

我决定。。。

自己动手,丰衣足食。。。

反正好多天没更公众号了。。。正好水一波。。。

Just have a try!

相关文件

百度网盘下载链接: https://pan.baidu.com/s/1-GK9-zdbvanTEXphSN2SmQ

密码: djdj

开发工具

Python版本:3.5.4

相关模块:

paramiko模块以及一些Python自带的模块。

操作系统:

Windows系列。

环境搭建

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

主要思路

目的:

制作命令行版的SSH登录工具。

需要实现的功能:

(1)添加/删除连接服务器需要的IP、端口、密码;

(2)自动输入密码登录远程服务器。

具体思路详见源代码。

PS:

本着用了Python那就尽量不制造轮子的原则,SSH登录主要借助了paramiko模块。

使用演示

放个视频吧。。。

懒得截图了。。。

更多

此代码仅适用于Windows系统。

有兴趣者可自行修改源代码制作Mac/Linux版本。

使用过程中若有任何优化意见:

欢迎后台交流!

以后若有时间将进一步优化和扩展该脚本。

Python简单实现隐写术

thbcm阅读(202)

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

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

导语

利用Python简单实现图片隐写术。。。

或者说是水印技术。。。

说实话,真的只是简单实现。。。

没什么技术含量。。。

可以说是入门级的隐写术/水印技术。。。

Let’s Go?

相关文件

百度网盘链接: https://pan.baidu.com/s/1DNVk11rMcFk9u-B7GE4Jow

密码: 9ffy

开发工具

Python版本:3.5.4

相关模块:

cv2模块;

pillow模块;

numpy模块;

以及一些Python自带的模块。

环境搭建

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

原理简介

相关文件中的源代码主要实现了两种水印技术:

(1)空域数字水印

实现的是基于LSB的水印技术。。。

(2)频域数字水印

实现的是基于FFT的水印技术。。。

T_T确实没啥技术含量吧?

图片需为PNG或BMP格式。。。

若频域数字水印效果不佳,请修改alpha因子大小。

具体实现过程详见源代码。。。

使用演示

可直接运行或作为模块导入。

功能:

直接运行方式:

在cmd窗口运行Watermark.py即可。

演示一:基于FFT

载体图片:

水印图片:

嵌入效果:

解水印:

演示二:基于LSB

载体图片:

水印文字:

公众号:Charles的皮卡丘

嵌入效果:

解水印:

更多

上述内容只是入门级的隐写术/水印技术。。。

这是一项非常有趣的技术。。。

以后有机会会复现一些进阶版的水印算法。。。

Python实时监控CPU使用率

thbcm阅读(196)

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

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

导语

早上起来随手写的脚本。

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

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

支持Linux和Windows系统。

Let’s Go~~~

相关文件

网盘下载链接: 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阅读(198)

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

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

导语

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

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

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

相关文件

网盘下载链接: 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阅读(186)

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

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

导语

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

导语

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

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

相关文件

相关文件

网盘下载链接: 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阅读(200)

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

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

导语

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

让我们愉快地开始吧~

相关文件

网盘下载链接: 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新上线6门免费编程视频课 至“砥砺前行”的你

thbcm阅读(166)

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

在如今这个“娱乐至死”的时代,碎片化时间充斥了大量的短视频和手游情况下,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!

点击图片查看视频课程

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

联系我们