
Python & Django开发
文章平均质量分 65
SuPhoebe
不是我针对谁,我是说在座的诸位都比我强
展开
-
Python中re模块的使用
re.match在字符串的开始位置匹配,如果匹配成功将返回MatchObject(值为True),否则返回None(值为False)。 函数原型def match(pattern, string, flags=0)参数说明 pattern:正则表达式string:要匹配的字符串flags:控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等re.search检测整个字符串,找到第一个匹配项原创 2016-12-21 20:09:52 · 913 阅读 · 0 评论 -
Python中可变对象和不可变对象
之前写了FPGrowth的代码,写得非常恶心,觉得和C语言、C++的工程文件很不相同。其中就有关于传引用、传值的疑问。截一段Leetcode的代码这题好像是Leetcode 93附近的一道 获得二叉树最大深度的题目。我使用了dfs,本来以为python是传对象引用的,所以在dfs中更新了ans,那么返回的ans也会改变,但是最后得到的结果保持1。经过查看资料我就知道这和命名域以及可变对象和不可变对象原创 2017-02-13 12:56:21 · 4942 阅读 · 0 评论 -
Python爬虫包 BeautifulSoup 学习(九) 正则表达式与Lambda表达式
本文使用的HTML在文章的最后,经过了一些简化,源文件在链接。正则表达式正则表达式的用法可以查看之前的文章,一般来说如果用python自带的urllib、urllib2库写爬虫的基本都会用到大量的正则表达式,而同样的,正则表达式也可以作为BeautifulSoup语句的任意一个参数,让你的目标元素查找工作极具灵活性。from urllib2 import urlopenfrom bs4 impor原创 2017-01-24 10:41:38 · 6170 阅读 · 1 评论 -
Python爬虫包 BeautifulSoup 学习(十) 各种html解析器的比较及使用
BeautifulSoup号称Python中最受欢迎的HTML解析库之一,但是这并不是唯一的选择。解析库lxml这个库可以用来解析HTML和XML文档,以非常底层的实现而闻名,大部分源码都是C语言写的,虽然学习这东西要花一定的时间,但是它的处理速度非常快。HTML parser这是python自带的解析库,所以很方便。解析器其实上面提到的那些库,都可以作为BeautifulSoup的解析库,下面对各原创 2017-01-24 10:59:02 · 8550 阅读 · 0 评论 -
Python爬虫包 BeautifulSoup 学习(十一) CSS 选择器
BeautifulSoup支持最常用的CSS选择器,在 Tag 或 BeautifulSoup 对象的 .select() 方法中传入字符串参数,即可使用CSS选择器的语法找到tag。CSS选择器CSS选择器是一种单独的文档搜索语法。 详情请见此链接BS4中的CSS选择器本篇所使用的html为:html_doc = """<html><head><title>The Dormouse's sto原创 2017-01-25 09:29:50 · 14610 阅读 · 1 评论 -
Python3 中文文件读写
字符串在Python内部的表示是Unicode编码,因此,在做编码转换时,通常需要以Unicode作为中间编码,即先将其他编码的字符串解码(decode)成Unicode,再从Unicode编码(encode)成另一种编码。在新版本的python3中,取消了unicode类型,代替它的是使用unicode字符的字符串类型(str),字符串类型(str)成为基础类型如下所示,而编码后的变为了字节类型(原创 2017-03-15 12:23:12 · 15764 阅读 · 1 评论 -
浅谈Django中的Signal
前言在web开发中, 你可能会遇到下面这种场景: 在用户完成某个操作后, 自动去执行一些后续的操作. 譬如用户完成修改密码后, 你要发送一份确认邮件.当然可以把逻辑写在一起,但是有个问题是,触发操作一般不止一种(如用户更改了其它信息的确认邮件),这时候这个逻辑会需要写多次,所以你可能会想着DRY(Don’t repeat yourself),于是你把它写到了一个函数中,每次调用。当然这是原创 2017-09-27 11:17:09 · 3341 阅读 · 0 评论 -
Django权限机制的实现
作者:Gevin 链接:http://www.jianshu.com/p/01126437e8a4 來源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。1. Django权限机制概述权限机制能够约束用户行为,控制页面的显示内容,也能使API更加安全和灵活;用好权限机制,能让系统更加强大和健壮。因此,基于Django的开发,理清Django权限机制是非常必要的。1.1转载 2017-09-27 10:00:35 · 732 阅读 · 0 评论 -
浅谈Django中的mptt
层级结构层级结构,也叫树形结构。在实际应用中,你经常需要保存层级结构到数据库中。比如说:你的网站上的目录。不过,除非使用类XML的数据库,通用的关系数据库很难做到这点。对于树形数据的存储有很多种方案。主要的方法有两种:邻接表模型,以及修改过的前序遍历算法。因为mptt使用的是修改过的前序遍历算法,而此算法又是从邻接表改进得来的,所以本文先要说这两块。本文以食品商店为例,通过类别、颜色以及种类来对其食原创 2017-09-26 11:37:28 · 7104 阅读 · 4 评论 -
RESTful 架构风格概述
本文转载自此处 在移动互联网的大潮下,随着docker等技术的兴起,『微服务』的概念也越来越被大家接受并应用于实践,日益增多的web service逐渐统一于RESTful 架构风格,如果开发者对RESTful 架构风格不甚了解,则开发出的所谓RESTful API总会貌合神转载 2017-08-08 11:19:08 · 401 阅读 · 0 评论 -
介绍——基于类的视图(class-based view)
介绍——基于类的视图(class-based view)本文转自此处刚开始的时候,django只有基于函数的视图(Function-based views)。为了解决开发视图中繁杂的重复代码,基于函数的通用视图( Class-based generic views)出现了,但是不久它的弊端就显示出来:无法扩展、无法定制。基于函数的通用视图的不灵活导致它在现实世界中的应用受限。基于类的通用视图也是出转载 2017-09-04 07:53:10 · 1089 阅读 · 0 评论 -
Python爬虫包 BeautifulSoup 学习(八) parent等应用
继续使用上篇的html页面内容:html_doc = """ <html><head><title>The Dormouse's story</title></head> <p class="title"><b>The Dormouse's story</b></p> <p class="story">Once upon a time there were three little sist原创 2017-01-23 10:17:26 · 5654 阅读 · 0 评论 -
Python爬虫包 BeautifulSoup 学习(二) 异常处理
面对网络不稳定,页面更新等问题,很可能出现程序异常的问题,所以我们要对程序进行一些异常处理。大家可能觉得处理异常是一个比较麻烦的活,但在面对复杂网页和任务的时候,无疑成为一个很好的代码习惯。网页‘404’、‘500’等问题try: html = urlopen('http://www.pmcaff.com/2221') except HTTPError as e:原创 2016-12-22 20:32:35 · 4104 阅读 · 0 评论 -
Python中urllib模块的使用
urllib模块中的方法urllib.urlopen(url[, data[, proxies]])创建一个表示远程url的类文件对象,然后像本地文件一样操作这个类文件对象来获取远程数据。参数url表示远程数据的路径,一般是网址;参数data表示以post方式提交到url的数据(玩过web的人应该知道提交数据的两种方式:post与get。如果你不清楚,也不必太在意,一般情况下很少用到这个参数);参数原创 2016-12-23 11:56:05 · 2209 阅读 · 0 评论 -
Python中enumerate的用法
enumerate()说明enumerate()是python的内置函数enumerate在字典上是枚举、列举的意思对于一个可迭代的(iterable)/可遍历的对象(如列表、字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值。enumerate多用于在for循环中得到计数例如对于一个seq,得到:# (0, seq[0]), (1, seq[1]), (2, s原创 2017-02-16 16:51:16 · 894 阅读 · 0 评论 -
Python中collections的用法
collectionscollections是Python内建的一个集合模块,提供了许多有用的集合类。namedtuple我们知道tuple可以表示不变集合,例如,一个点的二维坐标就可以表示成:p = (1, 2)但是,看到(1, 2),很难看出这个tuple是用来表示一个坐标的。定义一个class又小题大做了,这时,namedtuple就派上了用场:from collections import转载 2017-02-16 20:19:40 · 5001 阅读 · 0 评论 -
Python中itertools的用法
iterator循环器(iterator)是对象的容器,包含有多个对象。通过调用循环器的next()方法 (next()方法,在Python 3.x中),循环器将依次返回一个对象。直到所有的对象遍历穷尽,循环器将举出StopIteration错误。在for i in iterator结构中,循环器每次返回的对象将赋予给i,直到循环结束。使用iter()内置函数,我们可以将诸如表、字典等容器变为循环器原创 2017-02-17 10:34:58 · 7711 阅读 · 0 评论 -
Python爬虫包 BeautifulSoup 学习(三) 实例
一步一步构建一个爬虫实例,抓取糗事百科的段子先不用beautifulsoup包来进行解析第一步,访问网址并抓取源码# -*- coding: utf-8 -*-# @Author: HaonanWu# @Date: 2016-12-22 16:16:08# @Last Modified by: HaonanWu# @Last Modified time: 2016-12-22 20:原创 2016-12-22 21:46:54 · 3401 阅读 · 0 评论 -
Python爬虫包 BeautifulSoup 学习(七) children等应用
所使用的html为:html_doc = """ <html><head><title>The Dormouse's story</title></head> <p class="title"><b>The Dormouse's story</b></p> <p class="story">Once upon a time there were three little sisters; a原创 2017-01-20 12:44:55 · 9263 阅读 · 0 评论 -
Python爬虫包 BeautifulSoup 学习(一) 简介与安装
先发官方文档的地址:https://www.crummy.com/software/BeautifulSoup/bs4/doc/index.zh.html学习使用的书籍是Python网络数据采集(Ryan Mitchell著),大约是一些笔记的整理。Beautiful Soup的简介简单来说,Beautiful Soup是python的一个库,最主要的功能是从网页抓取数据。官方解释如下: Bea原创 2016-12-20 16:05:08 · 22978 阅读 · 0 评论 -
Python爬虫包 BeautifulSoup 学习(六) 递归抓取
之前的代码都是对单个静态页面进行抓取,这是人为简化的例子。爬虫的主要目的就是为了沿着网络抓取需要的内容。它们的本质是一种递归的过程。它们首先需要获得网页的内容,然后分析页面内容并找到另一个URL,然后获得这个URL的页面内容,不断重复这一个过程。让我们以维基百科为一个例子。# -*- coding: utf-8 -*-# @Author: HaonanWu# @Date: 2016-12-2原创 2016-12-25 11:09:56 · 6609 阅读 · 0 评论 -
Python爬虫包 BeautifulSoup 学习(五) 实例
BeautifulSoup使用BeautifulSoup抓取豆瓣电影的一些信息。# -*- coding: utf-8 -*-# @Author: HaonanWu# @Date: 2016-12-24 16:18:01# @Last Modified by: HaonanWu# @Last Modified time: 2016-12-24 17:25:33import urlli原创 2016-12-24 18:08:42 · 2637 阅读 · 0 评论 -
Python爬虫包 BeautifulSoup 学习(四) bs基本对象与函数
四大对象种类BeautifulSoup将复杂HTML文档转换成一个复杂的树形结构。如图所示每个节点都是Python对象,我们只用根据节点进行查询就可以了,因为解析工作交给了框架本身。所有对象可以归纳为4种:TagNavigableStringBeautifulSoupCommentTag什么是Tag,举几个例子<title>The Dormouse's story</title><a cl原创 2016-12-24 17:33:07 · 18607 阅读 · 1 评论 -
使用@property
原文https://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001386820062641f3bcc60a4b164f8d91df476445697b9e000在绑定属性时,如果我们直接把属性暴露出去,虽然写起来很简单,但是,没办法检查参数,导致可以把成绩随便改:s = Stud...转载 2018-06-07 01:19:17 · 304 阅读 · 0 评论