摘要: 终端操作 操作终端相关的文件句柄常量os.Stdin:标准输入os.Stdout:标准输出os.Stderr:标准错误输出 关于终端操作的代码例子: 关于带缓冲区的读写 这里需要用到一个包:bufio 下面是代码例子: 练习终端操作 从终端读取一行字符串,统计英文,数字,空格以及其他字符的数量代码实阅读全文
posted @ 2018-01-15 00:51 python修行路 阅读(12) 评论(0) 编辑
摘要: 结构体的定义 结构体是将零个或者多个任意类型的命令变量组合在一起的聚合数据类型。每个变量都叫做结构体的成员。 其实简单理解,Go语言的结构体struct和其他语言的类class有相等的地位,但是GO语言放弃了包括继承在内的大量面向对象的特性,只保留了组合这个基础的特性。所有的Go语言类型除了指针类型阅读全文
posted @ 2018-01-08 19:28 python修行路 阅读(143) 评论(0) 编辑
摘要: 在整理函数之前先整理一下关于指针 指针 普通类型变量存的就是值,也叫值类型。指针类型存的是地址,即指针的值是一个变量的地址。一个指针指示值所保存的位置,不是所有的值都有地址,但是所有的变量都有。使用指针可以在无序知道变量名字的情况下,间接读取或更新变量的值。 获取变量的地址,用&,例如:var a 阅读全文
posted @ 2017-12-28 01:06 python修行路 阅读(198) 评论(0) 编辑
摘要: 至少很长一段时间内,我个人用的一直是pycharm,也感觉挺好用的,也没啥大毛病 但是pycharm确实有点笨重,啥功能都有,但是有很多可能这辈子我也不会用到,并且pycharm打开的速度确实不敢恭维,即使固态硬盘也只能快了那么一丢丢。所以就尝试了很多IDE工具,最终选择了Sublime我也相信,通阅读全文
posted @ 2017-12-27 16:10 python修行路 阅读(230) 评论(2) 编辑
摘要: 数组 数组的定义: 数组是具有固定长度并拥有零个或者多个相同数据类型元素的序列 定义一个数组的方法:var 变量名[len] type 例子:var a[5] int //3个整数的数组var a[5]string //3个字符串的数组 像上面这种定义方法,我们是指定了数组的长度,但是还有如下定义方阅读全文
posted @ 2017-12-13 00:47 python修行路 阅读(186) 评论(0) 编辑
摘要: 之前一直忽略的就是所有语言中关于位操作,觉得用处并不多,可能用到也非常简单的用法,但是其实一直忽略的是它们的用处还是非常大的,下面先回顾一下位操作符的基础 位操作符 与操作:&1 & 1 = 11 & 0 = 00 & 1 = 00 & 0 = 0 或操作:!1 | 1 = 11 | 0 = 10 阅读全文
posted @ 2017-12-04 23:35 python修行路 阅读(93) 评论(1) 编辑
摘要: 注意:该演示环境是windows环境,linux和mac环境操作思路一样 vscode中有很多go的相关插件,非常好用如下:gocodegopkgsgo-outlinego-symbolsgurugorenamegomodifytagsgoplayimplgodefgoreturnsgolintgo阅读全文
posted @ 2017-12-01 12:58 python修行路 阅读(306) 评论(2) 编辑
摘要: 我们接下来一个一个来看关于Go语言中的三个目录的详细解释先通过go env查看go的环境变量(我这里是mac的环境,所以可能和你的不同) GOROOT 其实就是golang 的安装路径当你安装好golang之后其实这个就已经有了 GOPATH go命令依赖的一个重要环境变量:$GOPATH 其实可以阅读全文
posted @ 2017-11-27 23:33 python修行路 阅读(631) 评论(1) 编辑
摘要: 在看闭包问题之前先来看看关于python中作用域的问题 变量作用域 对于上述代码中出现错误,肯定没什么疑问了,毕竟b并没有定义和赋值,当我们把代码更改如下后: 再看一个例子: 首先这个错误已经非常明显:说在赋值之前引用了局部变量b 可能很多人觉得会打印10然后打印6,其实这里就是涉及到变量作用域的问阅读全文
posted @ 2017-11-17 23:57 python修行路 阅读(398) 评论(1) 编辑
摘要: future初识 通过下面脚本来对future进行一个初步了解:例子1:普通通过循环的方式 例子2:通过future方式实现,这里对上面的部分代码进行了复用 分别运行三次,两者的平均速度:13.67和1.59s,可以看到差别还是非常大的。 future future是concurrent.futur阅读全文
posted @ 2017-10-16 23:28 python修行路 阅读(512) 评论(0) 编辑
摘要: 常用用法 t.is_alive() Python中线程会在一个单独的系统级别线程中执行(比如一个POSIX线程或者一个Windows线程)这些线程将由操作系统来全权管理。线程一旦启动,将独立执行直到目标函数返回。可以通过查询一个线程对象的状态,看它是否还在执行t.is_alive() t.join(阅读全文
posted @ 2017-10-15 16:59 python修行路 阅读(366) 评论(0) 编辑
摘要: 从语法上来看,协程和生成器类似,都是定义体中包含yield关键字的函数。yield在协程中的用法: 在协程中yield通常出现在表达式的右边,例如:datum = yield,可以产出值,也可以不产出--如果yield关键字后面没有表达式,那么生成器产出None. 协程可能从调用方接受数据,调用方是阅读全文
posted @ 2017-10-06 17:32 python修行路 阅读(463) 评论(2) 编辑
摘要: 所有的生成器都是迭代器 关于迭代器和生成器的一种定义:迭代器用于从集合中取出元素;生成器用于凭空生成元素。 Python中,所有的集合都是可以迭代的,在Python语言内部,迭代器用于支持: for 循环 构建和扩展集合类型 逐行遍历文本文件 列表推导,字典推导,集合推导 元组拆包 调用函数时,使用阅读全文
posted @ 2017-10-04 23:31 python修行路 阅读(463) 评论(1) 编辑
摘要: Gevent官网文档地址:http://www.gevent.org/contents.html 基本概念 我们通常所说的协程Coroutine其实是corporate routine的缩写,直接翻译为协同的例程,一般我们都简称为协程。 在linux系统中,线程就是轻量级的进程,而我们通常也把协程称阅读全文
posted @ 2017-09-17 18:32 python修行路 阅读(510) 评论(0) 编辑
摘要: pycharm是一个非常强大的python开发工具,现在很多代码最终在线上跑的环境都是linux,而开发环境可能还是windows下开发,这就需要经常在linux上进行调试,或者在linux对代码进行编写,而pycharm提供了非常便捷的方式。具体实现在windows上远程linux开发和调试的代码阅读全文
posted @ 2017-09-11 23:56 python修行路 阅读(688) 评论(2) 编辑
摘要: 因为现在很多网站为了限制爬虫,设置了为只有登录才能看更多的内容,不登录只能看到部分内容,这也是一种反爬虫的手段,所以这个文章通过模拟登录知乎来作为例子,演示如何通过scrapy登录知乎 在通过scrapy登录知乎之前,我们先通过requests模块登录知乎,来熟悉这个登录过程 不过在这之前需要了解的阅读全文
posted @ 2017-08-21 20:29 python修行路 阅读(1398) 评论(5) 编辑
摘要: 总架构理解Middleware 通过scrapy官网最新的架构图来理解: 这个图较之前的图顺序更加清晰,从图中我们可以看出,在spiders和ENGINE提及ENGINE和DOWNLOADER之间都可以设置中间件,两者是双向的,并且是可以设置多层. 关于Downloader Middleware我在阅读全文
posted @ 2017-08-11 14:39 python修行路 阅读(1110) 评论(0) 编辑
摘要: 爬虫与发爬虫的厮杀,一方为了拿到数据,一方为了防止爬虫拿到数据,谁是最后的赢家? 重新理解爬虫中的一些概念 爬虫:自动获取网站数据的程序反爬虫:使用技术手段防止爬虫程序爬取数据误伤:反爬虫技术将普通用户识别为爬虫,这种情况多出现在封ip中,例如学校网络、小区网络再或者网络网络都是共享一个公共ip,这阅读全文
posted @ 2017-08-09 16:53 python修行路 阅读(2475) 评论(23) 编辑
摘要: 按照上一篇文章中我们将代码放到远程主机是通过拷贝或者git的方式,但是如果考虑到我们又多台远程主机的情况,这种方式就比较麻烦,那有没有好用的方法呢?这里其实可以通过scrapyd,下面是这个scrapyd的github地址:https://github.com/scrapy/scrapyd 当在远程阅读全文
posted @ 2017-08-08 20:41 python修行路 阅读(876) 评论(3) 编辑
摘要: 关于Scrapy工作流程回顾 Scrapy单机架构 上图的架构其实就是一种单机架构,只在本机维护一个爬取队列,Scheduler进行调度,而要实现多态服务器共同爬取数据关键就是共享爬取队列。 分布式架构 我将上图进行再次更改 这里重要的就是我的队列通过什么维护?这里一般我们通过Redis为维护,Re阅读全文
posted @ 2017-08-08 13:31 python修行路 阅读(982) 评论(9) 编辑
摘要: 终端操作 操作终端相关的文件句柄常量os.Stdin:标准输入os.Stdout:标准输出os.Stderr:标准错误输出 关于终端操作的代码例子: 关于带缓冲区的读写 这里需要用到一个包:bufio 下面是代码例子: 练习终端操作 从终端读取一行字符串,统计英文,数字,空格以及其他字符的数量代码实阅读全文
posted @ 2018-01-15 00:51 python修行路 阅读(12) 评论(0) 编辑
摘要: 结构体的定义 结构体是将零个或者多个任意类型的命令变量组合在一起的聚合数据类型。每个变量都叫做结构体的成员。 其实简单理解,Go语言的结构体struct和其他语言的类class有相等的地位,但是GO语言放弃了包括继承在内的大量面向对象的特性,只保留了组合这个基础的特性。所有的Go语言类型除了指针类型阅读全文
posted @ 2018-01-08 19:28 python修行路 阅读(143) 评论(0) 编辑
摘要: 在整理函数之前先整理一下关于指针 指针 普通类型变量存的就是值,也叫值类型。指针类型存的是地址,即指针的值是一个变量的地址。一个指针指示值所保存的位置,不是所有的值都有地址,但是所有的变量都有。使用指针可以在无序知道变量名字的情况下,间接读取或更新变量的值。 获取变量的地址,用&,例如:var a 阅读全文
posted @ 2017-12-28 01:06 python修行路 阅读(198) 评论(0) 编辑
摘要: 至少很长一段时间内,我个人用的一直是pycharm,也感觉挺好用的,也没啥大毛病 但是pycharm确实有点笨重,啥功能都有,但是有很多可能这辈子我也不会用到,并且pycharm打开的速度确实不敢恭维,即使固态硬盘也只能快了那么一丢丢。所以就尝试了很多IDE工具,最终选择了Sublime我也相信,通阅读全文
posted @ 2017-12-27 16:10 python修行路 阅读(230) 评论(2) 编辑
摘要: 数组 数组的定义: 数组是具有固定长度并拥有零个或者多个相同数据类型元素的序列 定义一个数组的方法:var 变量名[len] type 例子:var a[5] int //3个整数的数组var a[5]string //3个字符串的数组 像上面这种定义方法,我们是指定了数组的长度,但是还有如下定义方阅读全文
posted @ 2017-12-13 00:47 python修行路 阅读(186) 评论(0) 编辑
摘要: 之前一直忽略的就是所有语言中关于位操作,觉得用处并不多,可能用到也非常简单的用法,但是其实一直忽略的是它们的用处还是非常大的,下面先回顾一下位操作符的基础 位操作符 与操作:&1 & 1 = 11 & 0 = 00 & 1 = 00 & 0 = 0 或操作:!1 | 1 = 11 | 0 = 10 阅读全文
posted @ 2017-12-04 23:35 python修行路 阅读(93) 评论(1) 编辑
摘要: 注意:该演示环境是windows环境,linux和mac环境操作思路一样 vscode中有很多go的相关插件,非常好用如下:gocodegopkgsgo-outlinego-symbolsgurugorenamegomodifytagsgoplayimplgodefgoreturnsgolintgo阅读全文
posted @ 2017-12-01 12:58 python修行路 阅读(306) 评论(2) 编辑
摘要: 我们接下来一个一个来看关于Go语言中的三个目录的详细解释先通过go env查看go的环境变量(我这里是mac的环境,所以可能和你的不同) GOROOT 其实就是golang 的安装路径当你安装好golang之后其实这个就已经有了 GOPATH go命令依赖的一个重要环境变量:$GOPATH 其实可以阅读全文
posted @ 2017-11-27 23:33 python修行路 阅读(631) 评论(1) 编辑
摘要: 在看闭包问题之前先来看看关于python中作用域的问题 变量作用域 对于上述代码中出现错误,肯定没什么疑问了,毕竟b并没有定义和赋值,当我们把代码更改如下后: 再看一个例子: 首先这个错误已经非常明显:说在赋值之前引用了局部变量b 可能很多人觉得会打印10然后打印6,其实这里就是涉及到变量作用域的问阅读全文
posted @ 2017-11-17 23:57 python修行路 阅读(398) 评论(1) 编辑
摘要: future初识 通过下面脚本来对future进行一个初步了解:例子1:普通通过循环的方式 例子2:通过future方式实现,这里对上面的部分代码进行了复用 分别运行三次,两者的平均速度:13.67和1.59s,可以看到差别还是非常大的。 future future是concurrent.futur阅读全文
posted @ 2017-10-16 23:28 python修行路 阅读(512) 评论(0) 编辑