摘要:
首先引用一段Go语音中文网的代码: package main import "fmt" func main() { var a int = 1 // int类型的值 var b *int = &a // *int类型的指针,理解指向一个类型为int的值的地址的指针类型 var c **int = & 阅读全文
摘要:
概念 官方解释:Python中的赋值语句不复制对象,它们在目标和对象之间建立索引。对于可变项目或可变项目的集合,有时需要一个副本,以便可以更改一个副本而不更改其他副本。该模块提供通用的浅层和深层copy操作。 浅copy 为什么有赋值还要copy呢?当有一个需求是要把一个数据放到我的程序里进行修改操 阅读全文
摘要:
requests简介 Python标准库中提供了:urllib、urllib2、httplib等模块以供Http请求,但是,它的 API 太渣了。它是为另一个时代、另一个互联网所创建的。它需要巨量的工作,甚至包括各种方法覆盖,来完成最简单的任务。 Requests 是使用 Apache2 Licen 阅读全文
摘要:
我们都知道scrapy适合爬取大量的网站信息,爬取到的信息储存到数据库显然需要更高的效率,scrapy配合mongodb是非常合适的,这里记录一下如何在scrapy中配置mongodb。 文件结构 当我们创建一个scrapy工程的时候,scrapy会自动给我们创建目录结构,像下面这样: 提取数据 i 阅读全文
摘要:
Celery是一个“自带电池”的任务队列。易于使用,可以轻易入门,它遵照最佳实践设计,使产品可以扩展,或与其他语言集成,并且它自带了在生产环境中运行这样一个系统所需的工具和支持。本文介绍基础部分: 选择和安装消息传输方式(中间人)。 安装Celery并创建一个任务 运行职程并调用任务 追踪任务在不同 阅读全文
摘要:
Django中提供了“信号调度”,用于在框架执行操作时解耦。通俗来讲,就是一些动作发生的时候,信号允许特定的发送者去提醒一些接受者。 1、Django内置信号 对于Django内置的信号,仅需注册指定信号,当程序执行相应操作时,自动触发注册函数: 2、自定义信号 a、定义信号 b、注册信号 c、触发 阅读全文
摘要:
HTTP/1.1 协议规定的 HTTP 请求方法有 OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE、CONNECT 这几种。其中,POST 一般用来向服务端提交数据,本文主要讨论 POST 提交数据的几种方式。 这里主要讨论一下requests模仿浏览器请求的四种方式。 阅读全文
摘要:
在python2中我们使用twisted比较方便,网上资料也比较多,但是通常在python3中使用的时候,并不能成功。我也是找了好多资料没有成功之后,自己去尝试做小白鼠,测试了很久之后,发现传递给twisted的所有数据都需要是bytes类型的。直接看代码吧(亲测可用): 注意:postdata这个 阅读全文
摘要:
一、概念 装饰器是Python语言中的高级语法。主要的功能是对一个函数、方法、或者类进行加工,作用是为已经存在的对象添加额外的功能,提升代码的可读性。装饰器是设计模式的一种,被用于有切面需求的场景,较为经典的有插入日志、性能测试、事务处理等。在实际应用中也经常会用到装饰器。这篇文章来简单谈一下装饰器 阅读全文
摘要:
AMQP简介 介绍rabbitMQ之前。先介绍一下AMQP协议,因为rabbitMQ是基于AMQP协议实现的一个服务程序。(目前为止应该也是唯一实现了AMQO协议的服务) AMQP定义 AMQP(高级消息队列协议)是一个网络协议。它支持符合要求的客户端应用(application)和消息中间件代理( 阅读全文