一个很“水”的Python爬虫入门代码文件
是很水,就一个文件,而且总的代码量还不足100行,还包括各种注释和空格。是很水,网上搜索Python爬虫会出来很多相似的代码,开始学爬虫时也参考了一些。是很水,只包含最简单的爬虫入门知识,没有任何深入的东西,没有任何原理性解释。是很水,只够入门者看,稍微有点经验的爬虫工程师都看不上眼但是......
一个极为简洁的Python爬虫框架
更新--案例讲解框架用法:玩点好玩的--100行代码抓取NBA全部球员的全部赛季数据=============================================================虽然不是专业的爬虫工程师,但作为一个Pythoner,一直对爬虫情有独钟。Python有很多爬
“史上最详细”的Python模拟登录新浪微博流程
更新:上个版本利用了一些自用框架PSpider的函数,更新后的版本只用到了requests库,并改写为Class的形式,方便大家运行调试。---------------------------------------------------------------------------------
几个小例子告诉你, 一行Python代码能干哪些事
首先你要了解一下Python之禅,一行代码输出“TheZenofPython”:python-c"importthis""""TheZenofPython,byTimPetersBeautifulisbetterthanugly.Explicitisbetterthanimplicit.Simple
Python进阶:函数式编程实例(附代码)
上篇文章“几个小例子告诉你,一行Python代码能干哪些事--知乎专栏”中用到了一些列表解析、生成器、map、filter、lambda、zip等表达形式,这就涉及到了Python中关于函数式编程(functionalprogramming)的语法、函数等。这里我们就根据一些实例,聊聊Python中
Python进阶: 通过实例详解装饰器(附代码)
Python中的装饰器有很多用处,比如输出日志、参数检查、代理设置、计数计时、结果缓存等等。本文就通过几个装饰器例子,详细解释一下Python中装饰器的用法。一步步从简到繁学习装饰器用法其他一些装饰器实例Python中自带的装饰器按照惯例,先上代码:GitHub-xianhu/LearnPython
你真的了解Python中的日期时间处理吗?
Python中关于时间、日期的处理库有三个:time、datetime和Calendar,其中datetime又有datetime.date、datetime.time、datetime.datetime三个类。而时间又可以分为时间戳、本地时间和UTC时间(世界标准时间)。是不是听起来有点乱?那么他
Python进阶:一步步理解Python中的元类metaclass
虽然Python本身很难说是面向对象语言,但Python中的数据模型(datamodel)可以说真的是“纯面向对象”。在Python的世界里,一切皆是对象。无论是数值、字符串、序列、字典、函数、模块、类、实例、文件等等。元类(metaclass)是Python2.2中引入的概念,它的作用是定制类的创
Python进阶:理解Python中的异步IO和协程(Coroutine),并应用在爬虫中
基础知识(1)什么是同步IO和异步IO,它们之间有什么区别?答:举个现实例子,假设你需要打开4个不同的网站,但每个网站都比较卡。IO过程就相当于你打开网站的过程,CPU就是你的点击动作。你的点击动作很快,但是网站打开很慢。同步IO是指你每点击一个网址,都等待该网站彻底显示,才会去点击下一个网址。异步
Python进阶:聊聊IO密集型任务、计算密集型任务,以及多线程、多进程
IO密集型任务VS计算密集型任务所谓IO密集型任务,是指磁盘IO、网络IO占主要的任务,计算量很小。比如请求网页、读写文件等。当然我们在Python中可以利用sleep达到IO密集型任务的目的。所谓计算密集型任务,是指CPU计算占主要的任务,CPU一直处于满负荷状态。比如在一个很大的列表中查找元素(
Python3.6正式版要来了,你期待哪些新特性?
按照Python官网上的计划,Python3.6正式版期望在2016-12-16号发布,也就是这周五。从去年的5月份开始,Python3.6版本就已经动手开发了,期间也断断续续的发布了4个Alpha版,4个Beta版,以及一个Candidate版本。作为一个Python爱好者,很期待新版本的发布,也
拥有属于自己的Python爬虫框架--练习编写多线程、协程爬虫框架!
大概两个月前,我把自己维护的一个“极为简洁”的Python爬虫框架PSpider放在了Github,并在专栏中做了简单介绍:一个极为简洁的Python爬虫框架。没想到两个月的时间,“竟然”收到了超过300的star,让我很意外,所以我也一直在尽量改进这个框架:xianhu/PSpider。写这个框架
Python进阶:实例讲解Python中的魔法函数(Magic Methods)
什么是魔法函数?所谓魔法函数(MagicMethods),是Python的一种高级语法,允许你在类中自定义函数(函数名格式一般为__xx__),并绑定到类的特殊方法中。比如在类A中自定义__str__()函数,则在调用str(A())时,会自动调用__str__()函数,并返回相应的结果。在我们平时
利用Python和Flask快速开发RESTful API
REST,即RepresentationalStateTransfer,翻译过来叫做“表现层状态转化”。关于REST以及RESTfulAPI的相关概念、理解等,建议参考:理解RESTful架构-阮一峰的网络日志。这里我们不讨论这些理论知识,而是以Flask为基础,讲解如何快速开发RESTfulAPI
Python进阶:With语句和上下文管理器ContextManager
Python中的with语句和上下文管理器,是从2.5版本开始加入到Python语法中的。老规矩,文中代码整理后上传到Github:xianhu/LearnPython上下文管理器(ContextManager)上下文管理器是指在一段代码执行之前执行一段代码,用于一些预处理工作;执行之后再执行一段代
“百行代码”实现简单的Python分布式爬虫
本篇文章属于进阶知识,可能会用到以前出现在专栏文章中的知识,如果你是第一次关注本专栏,建议你先阅读下其他文章:查询--爬虫(计算机网络)现在搞爬虫的人,可能被问的最多的问题就是“你会不会分布式爬虫?”。给人的感觉就是你不会分布式爬虫,都不好意思说自己是搞爬虫的。但其实分布式爬虫的原理比较简单,大多数
改善Python程序的91个建议(笔记一)
自己写Python也有四五年了,一直是用自己的“强迫症”在维持自己代码的质量,除了Google的Python代码规范外,从来没有读过类似的书籍。偶然的机会看到这么一本书,读完之后觉得还不错,所以在知乎上简单做个简单的笔记。有想学习类似知识的朋友,又懒得去读完整本书籍,可以参考一下。PS:特别感谢有人
改善Python程序的91个建议(笔记二)
接上篇,这里补充上书名(其实图片中已经有了)《编写高质量代码:改善Python程序的91个建议》。作者是@赖勇浩。这里我基本是按照书本上的东西在整理,时间有限没有深究。整理主要是为了方便自己以后查看,能帮助到一些人呢就更好了,如果因为水平问题有写错的部分,还请大家多多谅解。【其实主要是整理了一下书中
改善Python程序的91个建议(笔记三)
接上篇,也是这个最后一篇该主题的笔记了。这里其实主要是整理了一下书中的标题,以及对个别建议的简单解释。整理主要是为了方便自己以后查看,能帮助到一些人呢就更好了,如果因为水平问题有写错的部分,还请大家多多谅解。第七章:使用工具辅助项目开发建议70:从PyPI安装第三方包建议71:使用pip和yolk安
Python版gRPC入门实验
什么是RPCRPC(RemoteProcedureCallProtocol)--远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络协议的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应