自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(71)
  • 收藏
  • 关注

原创 Python批量发送邮件

1.SMTP协议SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,是一个相对简单的基于文本的协议, 在其之上指定了一条消息的一个或多个接收者(在大多数情况下被确认是存在的),然后消息文本会被传输。可以很简单地通过telnet程序来测试一个SMTP服务器。SMTP使用TCP端口25。要为一个给定的域名决定一个SMTP服务器,需要使用MX (Mail eXc...

2019-08-20 15:58:28 409

原创 对于MySQL 数据库查询技巧的优化建议

1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索 引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表 扫描,如:select id from t where num is null 可以在 num 上设置默认值 0,确保表中 num 列没有 null 值,然后这样查询:select i...

2019-08-20 15:48:24 217

原创 Tornado异步化

异步化在前面的例子中,我们并没有对RequestHandler中的get或post方法进行异步处理,这就意味着,一旦在get或post方法中出现了耗时间的操作,不仅仅是当前请求被阻塞,按照Tornado框架的工作模式,其他的请求也会被阻塞,所以我们需要对耗时间的操作进行异步化处理。在Tornado稍早一些的版本中,可以用装饰器实现请求方法的异步化或协程化来解决这个问题。给RequestHan...

2019-08-20 15:41:11 233

原创 Python爬虫之储存海量数据

存储数据存储海量数据数据持久化的首选方案应该是关系型数据库,关系型数据库的产品很多,包括:Oracle、MySQL、SQLServer、PostgreSQL等。如果要存储海量的低价值数据,文档数据库也是不错的选择,MongoDB是文档数据库中的佼佼者,之前我们已经讲解过MongDB的相关知识,在此不再进行赘述。数据缓存通过《网络数据采集和解析》一文,我们已经知道了如何从指定的页面中抓取数据...

2019-08-20 15:36:43 861

原创 常见的 HTTP 头及其作用

http 请求中的常用头(请求头)的含义* http 请求是指从客户端到服务器端的请求消息。包括:消息首行中,对资源的请求方法、资源的标 识符及使用的协议 Accept:告诉服务器,客户端支持的数据类型。Accept-Charset:告诉服务器,客户端采用的编码。Accept-Encoding:告诉服务器,客户机支持的数据压缩格式。Accept-Language:告诉服务器,客户机...

2019-08-20 15:33:57 513

原创 python装饰器的使用

前言:在web开发过程中,经常会遇到数据查询慢的问题,对于查询一些时效性不是特别强的数据可以将数据缓存到redis中, 查询的时候直接到缓存中读取数据,这样就可以大大加快查询速度。  但是在开发前,事先没有增加缓存这个功能,并且需要增加缓存功能的地方又有很多,为了在不改变原有代码的基础上添加新的功能,这就要用到python的装饰器。这里简要记录一下装饰器的使用!说明:弄清了装饰器函数的执行...

2019-08-20 15:29:24 117

原创 爬虫的合法性

网络爬虫和相关工具网络爬虫的概念网络爬虫(web crawler),以前经常称之为网络蜘蛛(spider),是按照一定的规则自动浏览万维网并获取信息的机器人程序(或脚本),曾经被广泛的应用于互联网搜索引擎。使用过互联网和浏览器的人都知道,网页中除了供用户阅读的文字信息之外,还包含一些超链接。网络爬虫系统正是通过网页中的超链接信息不断获得网络上的其它页面。正因如此,网络数据采集的过程就像一个爬虫...

2019-08-20 15:14:06 2247

原创 Python爬虫中的数据采集和分析

数据采集和解析通过《网络爬虫和相关工具》一文,我们已经了解到了开发一个爬虫需要做的工作以及一些常见的问题,至此我们可以对爬虫开发需要做的工作以及相关的技术做一个简单的汇总,这其中可能会有一些我们之前没有使用过的第三方库,不过别担心,这些内容我们稍后都会一一讲到。下载数据 - urllib / requests / aiohttp。解析数据 - re / lxml / beautifulso...

2019-08-20 15:09:25 968

原创 Javascript模块化编程:模块的写法

引言:随着网站逐渐变成"互联网应用程序",嵌入网页的Javascript代码越来越庞大,越来越复杂。网页越来越像桌面程序,需要一个团队分工协作、进度管理、单元测试等等…开发者不得不使用软件工程的方法,管理网页的业务逻辑。Javascript模块化编程,已经成为一个迫切的需求。理想情况下,开发者只需要实现核心的业务逻辑,其他都可以加载别人已经写好的模块。但是,Javascript不是一...

2019-08-20 14:58:16 157

原创 Hash 算法,你真的造吗?

开讲前,先跑题闲聊下程序员的技术功底。我常说每个程序员都有自己独特的技术视野和知识盲区,不同程序员之间很难因为某些知识点储备不一样而分个高低好坏。但我们工作当中,又能明显感觉不同团队成员之间的技术水平存在差异,到底差在哪呢?很多人调侃批量生产的培训程序员,那这些人和四年的大学本科之间又有多少距离?仅仅是时间吗?差在基本功,基本功有很多项,数据结构与算法就是其中之一。虽然是基本功,却是最难储备和最...

2019-08-20 14:46:02 158

原创 Python就业指导建议(Python学习路线)

最近有很多伙伴希望我能给一些关于python的就业指导;之前出过很多关于Python学习路线的就业指导方面文章,但是并不是很完善,所以希望这期关于python的就业指导能够很全面很详细的聊聊就业的那些事,以下都是个人经验和建议,如有偏差还望指正!一、就业方向不管做任何事,一开始就有一个方向会让你有很高的效率;大家都听说python几乎无所不能,那具体有哪些职位呢?测试开发工程师运维工程师...

2019-08-20 14:43:11 321

原创 什么才是Selnium 和 PhantomJS

SeleniumSelenium 是一个 Web 的自动化测试工具,可以根据我们的指令,让浏览器自动加载页面,获取需 要的数据,甚至页面截屏,或者判断网站上某些动作是否发生。Selenium 自己不带浏览器,不支持浏 览器的功能,它需要与第三方浏览器结合在一起才能使用。但是我们有时候需要让它内嵌在代码中运行, 所以我们可以用一个叫 PhantomJS 的工具代替真实的浏览器.Se...

2019-08-19 14:52:18 342

原创 爬取下来的数据如何去重

通过 MD5 生成电子指纹来判断页面是否改变nutch 去重。nutch 中 digest 是对采集的每一个网页内容的 32 位哈希值,如果两个网页内容完 全一样,它们的 digest 值肯定会一样。数据量不大时,可以直接放在内存里面进行去重,python 可以使用 set()进行去重。当去重数据 需要持久化时可以使用 redis 的 set 数据结构。当数据量再大一点时,可...

2019-08-19 14:50:03 381

原创 Tornado异步化

异步化在前面的例子中,我们并没有对RequestHandler中的get或post方法进行异步处理,这就意味着,一旦在get或post方法中出现了耗时间的操作,不仅仅是当前请求被阻塞,按照Tornado框架的工作模式,其他的请求也会被阻塞,所以我们需要对耗时间的操作进行异步化处理。在Tornado稍早一些的版本中,可以用装饰器实现请求方法的异步化或协程化来解决这个问题。给RequestHan...

2019-08-19 14:47:27 202

原创 Scrapy爬虫框架高级应用

Scrapy爬虫框架高级应用Spider的用法在Scrapy框架中,我们自定义的蜘蛛都继承自scrapy.spiders.Spider,这个类有一系列的属性和方法,具体如下所示:name:爬虫的名字。allowed_domains:允许爬取的域名,不在此范围的链接不会被跟进爬取。start_urls:起始URL列表,当我们没有重写start_requests()方法时,就会从...

2019-08-19 14:43:28 263

原创 常见的 HTTP 头及其作用

http 请求中的常用头(请求头)的含义* http 请求是指从客户端到服务器端的请求消息。包括:消息首行中,对资源的请求方法、资源的标 识符及使用的协议 Accept:告诉服务器,客户端支持的数据类型。Accept-Charset:告诉服务器,客户端采用的编码。Accept-Encoding:告诉服务器,客户机支持的数据压缩格式。Accept-Language:告诉服务器,客户...

2019-08-19 14:39:33 513

原创 Linux下如何高效回退到特定层级目录?

Linux 下如果我们进入到了一个比较长的路径,比如:/home/alvin/projects/blogdemos/linux-system-programming/thread/home/alvin/projects/blogdemos/diff/home/harry/study/亚洲文化/日本文化/中日交流/影视业/动作片如果我们想要回退到一个特定的父目录,那么我们通常的做法是这样敲...

2019-08-19 14:19:44 749 1

原创 Python中的字符串以及正则表达式

使用正则表达式正则表达式相关知识在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要,正则表达式就是用于描述这些规则的工具,换句话说正则表达式是一种工具,它定义了字符串的匹配模式(如何检查一个字符串是否有跟某种模式匹配的部分或者从一个字符串中将与模式匹配的部分提取出来或者替换掉)。如果你在Windows操作系统中使用过文件查找并且在指定文件名时使用过通配符(*和?),那么...

2019-08-19 14:10:36 769

原创 静态资源和Ajax请求

静态资源和Ajax请求基于前面两个章节讲解的知识,我们已经可以使用Django框架来完成Web应用的开发了。接下来我们就尝试实现一个投票应用,具体的需求是用户进入应用首先查看到“学科介绍”页面,该页面显示了一个学校所开设的所有学科;通过点击某个学科,可以进入“老师介绍”页面,该页面展示了该学科所有老师的详细情况,可以在该页面上给老师点击“好评”或“差评”;如果用户没有登录,在投票时会先跳转到“登...

2019-08-19 13:55:23 445

原创 用Python来分析b站弹幕 “垃圾分类”大家怎么说?

“垃圾分类”大家怎么说?用Python分析b站弹幕目录1 环境2 需求分析3 代码实现4 后记纸巾再湿也是干垃圾?瓜子皮再干也是湿垃圾??最近大家都被垃圾分类折磨的不行,傻傻的你是否拎得清?自2019.07.01开始,上海已率先实施垃圾分类制度,违反规定的还会面临罚款。为了避免巨额损失,我决定来b站学习下垃圾分类的技巧。为什么要来b站,听说这可是当下年轻人最流行的学习途径之一。打开...

2019-08-19 13:35:22 400

原创 Django项目缓存优化

今天的Python学习教程绝对是纯技术的分享, 关于Django项目缓存优化问题的详细讲解!一起来看看:一、为什么要使用缓存​大家可以想一下Django的请求响应流程:→ 用户浏览器输入URL地址→ Web服务器将HTTP请求转发给uWSGI服务器→ uWSGI服务器将Request请求转发给Django应用→ Django中间件处理Request请求→ 视图View处理→ 模型...

2019-08-19 13:23:35 163

原创 Python面向对象详解

面向对象编程基础活在当下的程序员应该都听过“面向对象编程”一词,也经常有人问能不能用一句话解释下什么是“面向对象编程”,我们先来看看比较正式的说法。把一组数据结构和处理它们的方法组成对象(object),把相同行为的对象归纳为类(class),通过类的封装(encapsulation)隐藏内部细节,通过继承(inheritance)实现类的特化(specialization)和泛化(gene...

2019-08-17 16:03:02 111

原创 看了这,我也能设计一个通讯协议!

最近给 TKeyboard 增加了不少新功能,其中最有意义的部分是,通过蓝牙和 Wifi,配合 protobuf,在 Mac 和 iOS 之间建立了两条便捷的数据交换通道,算是打好了未来产品开发的地基,网络通道建立好了,后续的想象空间也大。比如,现在可以将 iPhone 上 safari 正在浏览的网页,一键分享到 Mac 的 safari 上,比 handoff 更方便可靠。还可以在 Mac ...

2019-08-17 15:53:39 225

原创 Python进阶,命名空间namespace

引言:在通常认知中,变量是一段具有特定格式的内存,变量名是内存别名,因为在编码阶段,无法确定内存的具体位置,故事用名称层符号代替.注意:变量名和指针不同接下来,静态编译和动态解释性语言对于变量名的处理方式完全不同,静态编译器或连接器会以固定地址,或者直接间接寻址执行代替变量名,也就是说变量名不参与执行过程,可以被剔除 ;但是在解释性语言中,名字和对象通常是两个运行期试题,名字不但有自己的...

2019-08-17 15:47:33 345

原创 Python教程:如何统计序列中元素的出现频度

实际操作中,我们该如何统计序列中元素的出现频度,这篇Python实战教程手把手教你!实际案例某随机序列中,找到出现次数最高的三个元素,他们的出现次数是多少?对某英文文章的单词进行词频统计,找到出现次数最高的10个单词,出现次数是多少?普通做法:from random import randint# #使用列表解析生成30个元素(在0~20范围内)data = [randint(0,2...

2019-08-17 15:27:51 126

原创 3行代码5秒抠图的AI神器,PS什么的靠边了

曾几何时,「抠图」是一个难度系数想当高的活儿,但今天要跟大家介绍的这和抠图工具,只要 3 行代码 5 秒钟就可以完成高精度抠图,甚至都不用会代码,点两下鼠标就完成了。感受下这款抠图工具抠地有多精细:是不是很赞?什么 PS 、PPT 修图都 low 爆了,你软件还没打开,我这边都修完了。这款工具叫:Remove.bg 。基于 Python、Ruby 和深度学习技术开发,通过强大的 A...

2019-08-17 15:25:36 256

原创 10个简单窍门带你提高Python数据分析速度(附代码)

不管在做什么事情,提示和一些小技巧总是非常有用的,在编程领域更是如此。有时候,小小的黑科技可以节省你大量的时间和精力。一个小的快捷方式或附加组件有时会是天赐之物,可以成为实用的效率助推器。所以,这期给大家介绍下自己编程时最喜欢使用的一些提示和小技巧,也是花了些时间整理的!有些可能是大家熟悉的,而有些可能是新鲜的,我相信它们会为你下一次处理数据分析的项目时提供便利。1.预览Pandas中的数据框...

2019-08-17 15:15:21 184

原创 Python算法讲解:深入浅出Apriori关联分析

在美国有这样一家奇怪的超市,它将啤酒与尿布这样两个奇怪的东西放在一起进行销售,并且最终让啤酒与尿布这两个看起来没有关联的东西的销量双双增加。这家超市的名字叫做沃尔玛。你会不会觉得有些不可思议?虽然事后证明这个案例确实有根据,美国的太太们常叮嘱她们的丈夫下班后为小孩买尿布,而丈夫们在买尿布后又随手带回了他们喜欢的啤酒。但这毕竟是事后分析,我们更应该关注的,是在这样的场景下,如何找出物品之间的关联规...

2019-08-17 14:52:05 400

原创 程序员跳槽找工作避坑指南

虽说年前就有很多人在修改简历、刷新简历,但是为了大家心中所谓的年终奖,99.9999%的人都会选择沉默,有一种「明修栈道,暗度陈仓」意味。拿完了年终奖,过完了春节,老子早TMD的不想干了,终于不用在你「对象是种扣嗖的老板或领导」这里受你这等鸟气了。于是乎,吭哧吭哧的埋头苦写简历,狂撒网,做梦都想有朝一日能出任CEO,迎娶白富美,走上人生的巅峰。理想是丰满的,现实是残酷的,搞不好,美梦没有做完,...

2019-08-17 14:45:49 551

原创 这里是Python爬虫的起点,抢占资源啦(Python学习教程)

今天跟大家出的这篇文章,是从爬虫的起点开始讲起,这里的Python学习教程,一篇文章带你贯穿爬虫始末!之前也够跟大家出过相关的Python相关的Python学习教程,伙伴们也可以翻阅一下以前的!爬虫系列文章的第一篇,这里便为大家讲解了HTTP原理,很多人好奇:好好的讲爬虫和HTTP有什么关系?其实我们常说的爬虫(也叫网络爬虫)就是使用一些网络协议发起的网络请求,而目前使用最多的网络协议便是HT...

2019-08-17 14:20:21 1258

原创 Python学习火热的罪魁祸首 -- 大数据

前两天看到有人后台留言说想了解大数据,这不今天又在催啦,不是没看到留言,一直有偷偷地关注你们的,总得给大家整理呀!理解万岁哈,其实这段时间我也一直在研究大数据相关的东西,就先给大家介绍一下大数据吧,其实我觉得吧,目前处理数据比较好的语言还是大数据产生的背景在2006 年,个人用户才刚刚迈进TB时代,全球一共新产生了约180EB的数据,但互联网(社交、搜索、电商)、移动互联网(微博)、物联网(...

2019-08-17 13:40:15 143

原创 Python:简单介绍一个开源小工具:SanicDB

SanicDB 是为 Python的异步 Web 框架 Sanic 方便操作MySQL而开发的工具,是对 aiomysql.Pool 的轻量级封装。Sanic 是异步IO的Web框架,同时用异步IO读写MySQL才能更大发挥它的效率。虽然这个模块叫做 SanicDB,但是它可以用在任何异步IO操作MySQL的地方。class SanicDB:"""A lightweight wrapper a...

2019-08-16 14:34:55 223

原创 作为一名Python程序员,论听歌的正确姿势?

今天讨论的话题,程序员听歌的正确姿势。这有啥,无非就是跪、趴、躺…啊呸,说错了,正确姿势可能是?打开网易云–》找到榜单–》选歌But!!!这也太普通太随意了嘛,来看一个Python程序员的打开方式。有没有感觉到很优雅?高品质网易云音乐命令行版本,简洁优雅,丝般顺滑。那这个湿滑的版本支持哪些功能特性呢?How to Get it?(easy easy)第一步,安装依赖1:...

2019-08-16 14:28:27 108

原创 如何用Python来写pm2.5空气质量查询程序

今天就教大家用之前有跟大家分享过的python基础学习教程完成首个MVP,如何用CLI(command-line interface,命令行界面)来执行第一个空气质量查询程序。知识点如何进行txt文件的读取数据类型的转换列表字典在命令行界面下和程序进行交互条件判断while循环所需工具python3Notepad++、Sublime等任一编辑器cmd、Terminal、py...

2019-08-16 14:12:48 6137

原创 基于Opencv来快速实现人脸识别(Python学习)

随着人工智能的日益火热,计算机视觉领域发展迅速,尤其在人脸识别或物体检测方向更为广泛,今天就为大家带来最基础的人脸识别基础,从一个个函数开始走进这个奥妙的世界。首先看一下本实验需要的数据集,为了简便我们只进行两个人的识别,选取了beyond乐队的主唱黄家驹和贝斯手黄家强,这哥俩长得有几分神似,这也是对人脸识别的一个考验:两个文件夹,一个为训练数据集,一个为测试数据集,训练数据集中有两个文件夹...

2019-08-16 14:04:27 299 1

原创 (Python实战):用栈实现队列

2019最新升级版Python学习教程(Python实战):用栈实现队列题目:使用栈实现队列的下列操作:push(x) – 将一个元素放入队列的尾部。pop() – 从队列首部移除元素。peek() – 返回队列首部的元素。empty() – 返回队列是否为空。Implement the following operations of a queue using stacks.p...

2019-08-16 13:53:33 1225

原创 啊,算法呀!为什么你让我如此着“谜”

我们在面对算法学习的时候,看到那些一串串的数字、一串串代码的时候感觉非常的头疼。最快最简单的排序——桶排序在我们生活的这个世界,不难发现,一切都是被排序过的。站队的时候会按照身高排序,考试的名次需要按照分数排序,网上购物的时候会按照价格排序,电子邮箱中的邮件按照时间排序……总之很多东东都需要排序,可以说排序是无处不在。现在我们举个具体的例子来介绍一下排序算法。首先出场的是我们的主人公小哼,...

2019-08-16 13:50:23 117

原创 最常见加密方式和Python实现(入门篇)

前言我们所说的加密方式,都是对二进制编码的格式进行加密的,对应到Python中,则是我们的Bytes。所以当我们在Python中进行加密操作的时候,要确保我们操作的是Bytes,否则就会报错。将字符串和Bytes互相转换可以使用encode()和decode()方法。如下所示:# 方法中不传参数则是以默认的utf-8编码进行转换In [1]: '南北'.encode()Out[1]: ...

2019-08-16 13:40:33 217

原创 Python自动控制windows桌面讲解

在使用PC时与PC交互的主要途径是看屏幕显示、听声音,点击鼠标和敲键盘等等。在自动化办公的趋势下,繁琐的工作可以让程序自动完成。比如自动化测试、自动下单交易等。很多软件除了可以GUI方式操作外还可以用CLI接口操作,不过当一些软件未提供CLI接口时,我们应该怎么办呢?我们还可以用程序控制桌面上的窗口、模拟点击鼠标或按下键盘等动作来释放自己。pywin32是一个Python库,它为Python提供...

2019-08-16 13:33:08 960

原创 有Excel、Tableau、PowerBI都能做数据分析,为什么还要用Python

如果你对数据分析有一定的了解,那你一定听说过一些亲民好用的数据分析的工具,如Excel、Tableau、PowerBI等等等等,它们都是数据分析的得力助手。像经常使用这些根据的伙伴肯定也有苦恼的时候,不足之处也是显而易见:操作繁琐,复用性差,功能相对局限单一。很多经常会用到数据分析的伙伴会问有没有一款便捷好用的工具!肯定有啊,Python的出现和普及,很容易就能改变这些窘境!怎么解决呢?——P...

2019-08-16 13:22:36 647

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除