自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Python协程之asyncio

asyncio 是 Python 中的异步IO库,用来编写并发协程,适用于IO阻塞且需要大量并发的场景,例如爬虫、文件读写。asyncio 在 Python3.4 被引入,经过几个版本的迭代,特性、语法糖均有了不同程度的改进,这也使得不同版本的 Python 在 asyncio 的用法上各不相同,显得有些杂乱,以前使用的时候也是本着能用就行的原则,在写法上走了一些弯路,现在对 Python3.7+ 和 Python3.6 中 asyncio 的用法做一个梳理,以便以后能更好的使用。协程与asyncio

2020-08-31 14:21:41 881

原创 Python基础入门:从变量到异常处理–阿里云天池

本次我们学习的主要内容是1.变量、运算符与数据类型2.位运算3.条件语句4.异常处理个人认为比较重要笔记1.变量、运算符与数据类型运算符包括:算术运算符 比较运算符 逻辑运算符 位运算符 三元运算符 其他运算符在这里我认为有几个点要注意:1.is, is not 对比的是两个变量的内存地址2.==, != 对比的是两个变量的值3.比较的两个变量,指向的都是地址不可变的类型(str等),那么is,is not 和 ==,!= 是完全等价的。4.对比的两个变量,指向的是地址可变的类型(l

2020-08-31 14:20:22 97

原创 面试:为了进阿里,死磕了ThreadLocal内存泄露原因

前言在分析ThreadLocal导致的内存泄露前,需要普及了解一下内存泄露、强引用与弱引用以及GC回收机制,这样才能更好的分析为什么ThreadLocal会导致内存泄露呢?更重要的是知道该如何避免这样情况发生,增强系统的健壮性。内存泄露内存泄露为程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光,广义并通俗的说,就是:不再会被使用的对象或者变量占用的内存不能被回收,就是内存泄露。强引用与弱引用强引用,使用最普遍的引用,一个对

2020-08-29 14:31:59 147

原创 年薪150W阿里大佬吐槽:在外工作加班,在家洗衣做饭,心累!

前言:前段时间《三十而已》这部电视剧火爆全网,这部剧主要讲的是三个到了三十岁的女人的生活,非常贴近我们现实生活,所以引起了观众们的共鸣,女人三十而已就面临生活各种琐碎的心酸,男人三十而立面对的也不少,父母的逐渐老去,身体健康的下滑,生活压力的增大,太难了。这位阿里大佬的吐槽也引起了很多人的共鸣,年纪到了三十五往上走了,去年收入不算税前加上股票收入150万,却还是被老婆各种嘲讽,嫌弃赚的太少,工资奖金都是第一时间全部上交,每个月自己就花1到2千,有时回到家还要洗衣做饭扫地,慢慢的心酸呐。我一看到下面

2020-08-28 21:55:27 244

原创 阿里腾讯京东华为纷纷发力,互联网医疗究竟有何吸引力?

在即将过去的 8 月里,互联网巨头在医疗领域的动作相当频繁:8 月 12 日,字节跳动完成对百科名医的全资收购,据悉收购金额为 5 亿元;8 月 17 日,京东健康获得高瓴资本 8.3 亿美元的B轮融资,次日,京东健康宣布推出家庭服务产品“京东家医”;8 月 20 日,据《香港经济日报》报道,京东计划分拆京东健康于香港上市,集资 10 亿美元,预期京东健康最快明年上市。把时间拉长一些则会发现,今年以来,医疗赛道的热度居高不下,在截至 2020 年 6 月 16 日的上半年里,国内医疗健康领域的融资金

2020-08-27 14:55:03 13083

原创 别人过七夕,而我只能的撸代码,看看大家谈论最多的是什么?

前言今天就是中国传统情人节”七夕“,牛郎织女一年一度鹊桥相会的日子。作为”闲来无事“的单身狗小编,唯一能做的就是用无所不能的Python搞搞事情。但凡遇上情人节、七夕这类节日,朋友圈不是一片疯狂”虐狗“,就是单身汪疯狂转发……你有没有想过,七夕节,大家谈论最多的是什么?通过基本流程,使用两个关键词“七夕”和“七夕礼物”,发现微信上这两个词的搜索量最近几天直线飙升。而在小编个人的朋友圈里面,关于七夕话题最丰富的,竟然是”商家促销“,果然啥都比不上商家更关注我们的情感生活啊。至于排名后面的,分别是各

2020-08-25 14:51:08 242

原创 总结新老的Python程序员常犯的一些错误(满满的干货)

语用错误让我们从基础开始,从那些刚学习编程的人钻研语法之前碰到的事情开始如果你已经编过一些程了,那么以下这些可能看起来十分的简单;如果你曾经尝试过教新手们怎么编程,它们可能就不这么简单了。在交互提示符中输入的Python代码在>>>交互提示符中你只能输入的Python代码,而不是系统命令。时常有人在这个提示符下输入的emacs,LS,或者编辑之类的命令,这些可不是Python的代码。在Python的代码中确实有办法来调用系统命令(例如os.system和os.popen),但可不是像

2020-08-24 14:06:23 152

原创 适合 Python 入门的 8 款强大工具!

Python是一种开源的编程语言,可用于Web编程、数据科学、人工智能以及许多科学应用。学习Python可以让程序员专注于解决问题,而不是语法。由于Python相对较小,且拥有各式各样的工具,因此比Java和C++等语言更具优势,同时丰富的库赋予了Python完成各种伟大任务所需的能力。下面是程序员和学生最常使用的一些Python工具:1、IDLE在安装Python时,默认也会安装IDLE。这是最优秀的Python工具之一。它可以降低Python入门的门槛。它的主要功能包括Python Shell窗口

2020-08-24 14:03:51 210

原创 Python教程:for循环本质

我们先来看一下for循环的一些简单应用:ls=[1,2,3]for i in ls:print(i)我们知道这样可以遍历地取出这里面的每一个元素,但是它的工作原理,我们都是模模糊糊的大概知道是那个样子。其实for循环的工作流程是基于迭代器协议的。为明白他的整个工作流程,我们不得不先看一下迭代器协议。迭代器协议1.迭代器协议是指:对象必须提供一个next方法,执行该方法要么返回迭代中的下一项,要么就引起一个StopIteration异常,以终止迭代 (只能往后走不能往前退)2.迭代器:实现了迭代

2020-08-21 15:52:17 265

原创 python教程: filter()和reduce()函数用法详解

一、filter()在Python内建函数中,有一个和map()函数用法类似、却可以用来过滤元素的迭代函数,这个函数就是filter()。它的函数原型是:filter(function,itearable)filter返回的是一个filter对象,可以通过list()或者for循环取出内容。 注意:传入的函数返回值必须是布尔类型。若是真则保留元素,假则过滤掉这元素def is_even(x):return x%2==0a=filter(is_even,[1,2,3,4,5,6])print(a)

2020-08-21 15:51:15 192

原创 知道为什么阿里每一天有那么多人离职了吗?网友:太真实了

前言:大厂一直是互联网工作者向往的地方,比如著名的阿里巴巴、腾讯、百度等,还有像字节跳动、网易等等。小编呢对这些大厂同样很好奇,这么厉害的企业是不是各个方面都很好呢?对这些大厂的好奇我相信还有很多人跟我是一样的,抱着这些疑问有位网友发帖询问:到底什么是阿里味,能在我们加入阿里的时候体验一下。该贴一发布,立马有疑似阿里匿名员工回答,还有很多评论补充的,小编都要笑死在这评论里了。小编想起了大学刚毕业进的一家公司,那公司规模挺小的三十多个人,公司里有个经理就是类似这种,平时跟我们谈话大道理一大推,而且有时

2020-08-20 14:15:15 404

原创 用Python的Pandas和Matplotlib绘制股票唐奇安通道,布林带通道和鳄鱼组线

根据指定股票通道指标的算法,能用过去一定时间段的交易数据绘制出上下两条通道线,即价格通道里的上下轨道。一般来说,当股价向上突破上轨时,即预测后市将涨,反之当股价向下突破下轨时,即预测后市将跌。这里将根据若干算法,计算并绘制多种价格通道,从中大家一方面可以积累股市分析的经验,另一方面还能进一步掌握基于pandas的数据分析方法,以及基于matplotlib的可视化技巧。1 计算并绘制唐奇安通道唐奇安通道是由上阻力线、下支撑线和中心线这三条线组成。上阻力线 = 过去N天的最高价下支撑线 = 过去

2020-08-20 14:11:22 1155

原创 高并发,你真的了解吗?

摘要:本文介绍高并发系统的度量指标,讲述高并发系统的设计思路,再梳理高并发的关键技术,最后结合作者的经验做一些延伸探讨。当前,数字化在给企业带来业务创新,推动企业高速发展的同时,也给企业的IT软件系统带来了严峻的挑战。面对流量高峰,不同的企业是如何通过技术手段解决高并发难题的呢?0、引言软件系统有三个追求:高性能、高并发、高可用,俗称三高。三者既有区别也有联系,门门道道很多,全面讨论需要三天三夜,本篇讨论高并发。高并发(High Concurrency)。并发是操作系统领域的一个概念,指的是一段时间

2020-08-18 14:25:11 162

原创 Python 自动化,Helium 凭什么取代 Selenium?

Helium 是什么?Helium 是一款 Web 端自动化开源框架,全称是: Selenium-Python-Helium , 从名字上 就可以看出, Helium 似乎和 Selenium 息息相关确实, Helium 针对 Sel e n i um 进行了 封装 , 它屏蔽了 Selenium 很多实现细节,提供了更加简洁直观的 API,更方便我们进行 Web 端的自动化官方表示,要实现同样的功能,Helium 相比 Selenium 要少 30% - 50% 的代码目前, Helium .

2020-08-17 19:26:14 497

原创 用 Python 爬取 QQ 空间说说和相册

QQ 空间在 2005 年被腾讯开发,已经经历了 15 个年头,在还没有微信的年代,看网友发表的心情、心事、照片大多都在 QQ 空间的里。它承载了80、90 后的大量青春,下面我们一起用 selenium 模块导出说说和相册回忆青春吧安装 seleniumselenium 是一个在浏览器中运行,以模拟用户操作浏览器的方式获取网页源码,使用 pip 安装 selenium 模块pip install selenium查看 chrome 浏览器版本并下载 对应的 chrome 浏览器驱动在 http

2020-08-17 15:00:39 834 1

原创 一个在交流群里讨论过两轮的问题,答案竟然跟一个 PEP 有关

Python 中有没有办法通过类方法找到其所属的类?这个问题看起来不容易理解,我可以给出一个例子:class Test:@xxxdef foo(self):pass现在有一个类和一个类方法,其中类方法上有一个装饰器。我们的问题就是要在装饰器代码中动态地获得 Test 这个类(类名+类对象)。去年 11 月份的时候,我在微信读者群里提出了这个问题,当时引起了小范围的讨论。没想到在今年上个月的时候,群里又有人提了同样的问题(我在讨论结束后才看到),而且最终都找到了 stackoverflow

2020-08-15 14:34:11 146

原创 十分钟快速入门 Python

本文以 Eric Matthes 的《Python编程:从入门到实践》为基础,以有一定其他语言经验的程序员视角,对书中内容提炼总结,化繁为简,将这本书的精髓融合成一篇10分钟能读完的文章。读完本篇文章后,可对 Python 语言特性、编码风格有一定了解,并可写出简单的 Python 程序。免费领取Python自动化学习资料 工具,面试宝典面试技巧,加QQ群,882776158,群内还会大佬技术交流一、安装与运行各个系统的 Python 安装教程请自行查阅资料,这里不再赘述。检查 Python 版

2020-08-15 14:24:07 340

原创 Python3十大经典错误及解决办法

一、 SyntaxError 语法错误(1)引号没有成对出现报错信息:1SyntaxError:EOL while scanning string literal错误示例:1string = 'hello world解决方法:字符串切记要放在引号中,单引号双引号无所谓。当一个字符串中包含单引号或双引号时,很容易出现引号不配对的情况。(2)圆括号没有成对出现报错信息:1SyntaxError:unexpected EOF while parsing错误示例1:1result = (10

2020-08-14 14:27:27 2252

原创 10个Python面试常问的问题

Python是个非常受欢迎的编程语言,随着近些年机器学习、云计算等技术的发展,Python的职位需求越来越高。下面我收集了10个Python面试官经常问的问题,供大家参考学习。1、类继承有如下的一段代码:class A(object):def show(self):print ‘base show’class B(A):def show(self):print ‘derived show’obj = B()obj.show()点击并拖拽以移动如何调用类A的show方法了。方法如下:

2020-08-14 13:59:08 115

原创 使用Selenium永久修改Chrome配置[Python版本]

使用Selenium可以非常方便的模仿用户操作浏览器的行为(Chrome,Firefox…)等,对于如何选择页面元素,以及如何操作各种页面元素(输入框,下拉框)类型Selenium支持的都非常到位,这些基本的操作本文不再阐述。网上找到大多数能找到的教程都是基于session机制做的演示,既脚本中对浏览器的设置只对当前sessio能有效,当重启浏览器时设置就会被还原,本文主要讲述如何永久设置Chrome浏览器的配置操作说明假设需要设置chrome的一下配置:核心代码以及注释如下:-*- codin

2020-08-12 21:43:30 663

原创 Python网络爬虫开发实战使用XPath,xpath的多种用法

XPath,全称XML Path Language,即XML路径语言,它是一门在XML文档中查找信息的语言。它最初是用来搜寻XML文档的,但是它同样适用于HTML文档的搜索。所以在做爬虫时,我们完全可以使用XPath来做相应的信息抽取。本节中,我们就来介绍XPath的基本用法。XPath概览XPath的选择功能十分强大,它提供了非常简洁明了的路径选择表达式。另外,它还提供了超过100个内建函数,用于字符串、数值、时间的匹配以及节点、序列的处理等。几乎所有我们想要定位的节点,都可以用XPath来选择。

2020-08-12 14:18:17 288

原创 python自动化办公知识点整理汇总

知乎上有人提问:用python进行办公自动化都需要学习什么知识呢?点击并拖拽以移动​这可能是很多非IT职场人士面临的困惑,想把python用到工作中,却不知如何下手?python在自动化办公领域越来越受欢迎,批量处理简直是加班族的福音。自动化办公无非是excel、ppt、word、邮件、文件处理、数据分析处理、爬虫这些,这次就来理一理python自动化办公的那些知识点。python基础excel自动化ppt自动化word自动化邮件处理文件批量处理数据处理与分析自动化爬虫下面一一详解

2020-08-11 15:19:24 343

原创 Python再夺冠,2020年度编程语言排行榜出炉

领域驱动技术,技术鞭策领域。近日,IEEE Spectrum 最新发布了 2020 年年度编程语言排行榜。IEEE Spectrum 编程语言排行榜一年发布一次,截止到今年,该排行榜已经连续发布了七年。与其他榜单有所不同,IEEE Spectrum 可以让开发者自己选择参数组合时的权重,得到多样的排序结果。在最新的编程语言排行榜中,IEEE Spectrum 通过综合 CareerBuilder、GitHub、Google、Hacker News、IEEE、Reddit、Stack Overflow 和

2020-08-10 14:23:04 612

原创 零基础学到什么程度可以找一份python工作?Python学习路线规划

目前信息化产业发展势头很好,互联网就成为了很多普通人想要涉及的行业,因为相比于传统行业,互联网行业涨薪幅度大,机会也多,所以就会大批的人想要转行来学习Python开发。 目前来讲市场上需要的Python人员非常多,而且按照现在的势头,以后会需要更多的Python开发人员,理由是以后每个人公司都会有自己的网站,有自己的开发部,对于用户体验看的非常重要。所以Python程序员就会很吃香。岗位要求如果你找的是爬虫工程师,那么你除了学习 Python,还应该熟练掌握 requests,bs4,scrapy,s

2020-08-10 14:18:15 141

原创 Python 中拼音库 PyPinyin 的用法,没错见名知意它就是用来翻译汉字的

最近碰到了一个问题,项目中很多文件都是接手过来的中文命名的一些素材,结果在部署的时候文件名全都乱码了,导致项目无法正常运行。后来请教了一位大佬怎么解决文件名乱码的问题,他说这个需要正面解决吗?不需要,把文件名全部改掉,文件名永远不要用中文,永远不要。我想他这么说的话,一定也是凭经验得出来的。这里也友情提示大家,项目里面文件永远不要用中文,永远不要!好,那不用中文用啥?平时来看,一般我们都会用英文来命名,一般也不会出现中文,比如 resource, controller, result, view,

2020-08-07 14:41:57 314

原创 曾经采集朋友圈难倒多少Python大佬,今天手把手教你如何实现!

接下来,我们将实现微信朋友圈的爬取。如果直接用 Charles 或 mitmproxy 来监听微信朋友圈的接口数据,这是无法实现爬取的,因为数据都是被加密的。而 Appium 不同,Appium 作为一个自动化测试工具可以直接模拟 App 的操作并可以获取当前所见的内容。所以只要 App 显示了内容,我们就可以用 Appium 抓取下来。本节目标本节我们以 Android 平台为例,实现抓取微信朋友圈的动态信息。动态信息包括好友昵称、正文、发布日期。其中发布日期还需要进行转换,如日期显示为 1 小

2020-08-06 21:25:50 196

原创 Python循环流程语句 while

说起循环,发一张图,不知道能不能勾起大家小时候的回忆。循环就是让指定的代码重复地执行。python 中的 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。当要求你在页面上打印5遍“Hello Python”,你可以写5行 print代码,但是如果要求打印100行,1000行呢,这时就要使用 while 语句了。一、while 语句基本语法while 判断条件(condition):执行语句(statements)……执行语句可以是单个语句或语句

2020-08-06 13:55:04 360

原创 3行!仅3行代码就能抓取B站(弹幕、评论、用户)数据

今天介绍一个获取B站数据的Python扩展库-bilibili_api可以获取的数据包括:video-视频模块user-用户模块dynamic-动态模块这次用“Running Man”十周年特辑的视频,来做个获取弹幕的Demo。我是对比没有对比,就没有伤害,就像最近的“哈工大”某学生和“浙大”某学生一样。这是之前获取弹幕的过程:1、弹幕数据接口https://comment.bilibili.com/123072475.xml (一个固定的url地址 + 视频的cid + .xml)2

2020-08-06 13:50:33 994

原创 为什么在微信的阴影下QQ依然是中国第二大App?

中国第一大 App 是哪一个?当然是微信。那么第二大 App 是哪一个呢?答案是已经 21 岁的互联网“化石级”产品——QQ!QQ 的今天月活用户居然高达 7.35 亿,稍微观察一下就会发现一个奇怪的现象:第一名的微信和第二名的 QQ 居然同属即时通讯领域。数据来源:Trustdata(2020.3)那么一个巨大的问题就来了——为什么在微信吞噬一切的同时,还有一个另一个同类产品做到如此巨大的体量?有了微信为什么还要 QQ 呢?到底是哪些人在用 QQ?QQ 到底解决了神马痛点?为什么我

2020-08-05 20:37:13 996

原创 学习 Python,这 22 个包怎能不掌握?

如今全球各个行业内 Python 的使用状况怎么样呢?这个问题就是我写这篇文章的初衷。我找出了22个最常用的 Python 包,希望能给你一些启发。首先我列出了最近一年内 PyPI 上下载量最高的 Python 包。我们来看看这些包的作用,它们的之间的关系,以及为什么会如此流行。Urllib38.93亿次下载Urllib3 是 Python 的 HTTP 客户端,它提供了许多 Python 标准库没有的功能。线程安全连接池客户端 SSL/TLS 验证使用 multipart 编码进行文

2020-08-05 14:49:39 254

原创 Python面试的常客,经典的生产消费者模式

我们来聊聊关于多线程的一个经典设计模式。在之前的文章当中我们曾经说道,在多线程并发的场景当中,如果我们需要感知线程之间的状态,交换线程之间的信息是一件非常复杂和困难的事情。因为我们没有更高级的系统权限,也没有上帝视角,很难知道目前运行的状态的全貌,所以想要设计出一个稳健运行没有bug的功能,不仅非常困难,而且调试起来非常麻烦。生产消费者模式在日常开发当中,从一个线程向另外的线程传输数据又是一件家常便饭的事情。举个最简单的例子,我们在处理网页请求的时候,需要打印下来这一次请求的相关日志。打印日志是一次IO

2020-08-05 14:38:26 228

原创 Linux系统中玩到让你停不下来的命令行游戏!

在使用 Linux 系统时,命令行不仅可以让我们在工作中提高效率,它还可以在生活上给我们提供各种娱乐活动,因为你可以使用它玩许多非常有意思的游戏,这些游戏可都不需要使用专用显卡。命令行游戏尽管比较简单,看上去只是一行行枯燥的代码,但有,还是有不少的 Linux 系统游戏却要复杂和有趣一些。实际上,命令行游戏一个重要的功能就是需要我们发挥想象力和创造力,在空白的纸上描绘出动人的景象,这非常有利于开发我们的大脑。下面,我们将介绍几款可以在 Linux 系统中用命令行也能玩的游戏。1、网络黑客网络黑客于1

2020-08-04 21:01:09 369

原创 python操作Excel,你觉得哪个库更好呢?

每一个Excel数据文件从上至下分为三个层级的对象:workbook:每一个Excel文件就是一个workbook。sheet:每一个workbook中可以包含多个sheet,具体就对应Excel中我们在左下脚所看到的“sheet1”,“sheet2”等。cell:每一个sheet就是我们通常所看到的一个表格,可以含有m行,n列,每个确定的行号,列号所对应的一个格子就是一个cell。Excel模块对比平台:Mac工具:PyCharmPython:python3.6Excel行数:64543

2020-08-04 14:35:23 1767

原创 最全总结!聊聊 Python 调用 JS 的几种方式

日常 Web 端爬虫过程中,经常会遇到参数被加密的场景,因此,我们需要分析网页源代码通过调式,一层层剥离出关键的 JS 代码,使用 Python 去执行这段代码,得出参数加密前后的 Python 实现本文将聊聊利用 Python 调用 JS 的4种方式准备以一段简单的 JS 脚本为例,将代码写入到文件中//norm.js//计算两个数的和function add(num1, num2) {return num1 + num2;}点击并拖拽以移动其中,定义了一个方法,计算两个数的和

2020-08-04 14:29:25 233

原创 Python 爬虫基础入门

爬虫需求1.你是否在夜深人静的时候,想看一些会让你更睡不着的图片却苦于没有资源?2.你是否在节假日出行高峰的时候,想快速抢购火车票成功?3.你是否在网上购物的时候,想快速且精准的定位到口碑质量最好的商品?爬虫简介通过编写程序,模拟浏览器上网,然后让其去互联网上抓取数据的过程。爬虫的价值抓取互联网上的数据,为我所用,有了大量的数据,就如同有了一个数据银行一样,下一步做的就是如何将这些爬取的数据产品化,商业化爬虫流程1.发送请求request使用http库向目标站点发起请求,即发送一个Re

2020-08-01 14:15:09 175

空空如也

空空如也

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

TA关注的人

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