摘要:
需求:爬取斗图网数据 首先我们使用线程的方式,爬取前4页数据 准备工作 图片链接存在页面源代码中 但是,界面使用了懒加载技术,真正的url在data-original中 import requests from lxml import etree from concurrent.futures im 阅读全文
摘要:
需求:爬取1996-2023年电影票房排行榜 首先,我们先爬取一年的数据,然后通过循环,逐一爬取每一年的数据。通过测试,话费时间32秒,代码如下: import requests from lxml import etree import time #处理数据,电影排行末尾 有的有空行,有的没有 d 阅读全文
摘要:
定义:re模块称为正则表达式; 作用:创建一个"规则表达式",用于验证和查找符合规则的文本,广泛用于各种搜索引擎、账户密码的验证等; 预定义字符 \d 匹配所有的十进制数字 0-9 \D 匹配所有的非数字,包含下划线 \s 匹配所有空白字符(空格、TAB等) \S 匹配所有非空白字符,包含下划线 \ 阅读全文
摘要:
当一个功能函数,我们添加了多个额外功能时,这是我们就要使用多层装饰器;多层装饰器使用时是按就就近原则 def makebold(fn): print('加载makebold') def wrapper(): print('执行makebold中wrapper函数') return "<b>" + f 阅读全文
摘要:
装饰器是AOP编程思想,给主体函数增加功能,又不让代码入侵到主体函数中,实现高内聚,低耦合。 参数有两种,一种是功能函数带参数、另外一种是装饰器函数带参数,如果装饰功能部分代码也需要参数的话,可以在原来的两层函数外面再加一层,专门用来接收参数。 下面我们通过两个小例子来学习 #功能函数带参数; #实 阅读全文
摘要:
什么是装饰器? 装饰器本质上是一个函数,该函数用来处理其他函数,它可以让其他函数在不需要修改代码的前提下增加额外的功能,装饰器的返回值也是一个函数对象。它经常用于有切面需求的场景,比如:插入日志、性能测试、事务处理、缓存、权限校验等应用场景。装饰器是解决这类问题的绝佳设计,有了装饰器,我们就可以抽离 阅读全文
摘要:
什么是高阶函数? 只要满足下面的任意一个条件就是高阶函数 1、一个函数的函数名作为参数传给另外一个函数 2、一个函数返回值(return)为另外一个函数(返回为自己,则为递归) #示例1: def f(n): return n**2 def foo(a,b,func): ret = func(a) 阅读全文
摘要:
在日常开发只,常常需要对多张数据表同时进行数据查询;多表查询需要在表建立的时候建立表关系才能够实现,下面还是以之前的模型为例。下面是数据表数据 book表的外键字段publisher 正向查询 #查询模型Book某行数据对应的b b = Book.objects.filter(id=1).first 阅读全文
摘要:
常用查询 python manage.py shell from blog.models import * 查询: 1、全表查询 b = Book.objects.all() #查询第一条 b[0].title >>> b = Book.objects.all() >>> b[0].title 'p 阅读全文
摘要:
增(create , save) from app01.models import * #create方式一: Author.objects.create(name='Alvin') #create方式二(推荐): Author.objects.create(**{"name":"alex"}) # 阅读全文