自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 收藏
  • 关注

转载 分析 ajax 请求并抓取 “今日头条的街拍图”

今日头条抓取页面:分析街拍页面的 ajax 请求:通过在 XHR 中查看内容,获取 url 链接,params 参数信息,将两者进行拼接后取得完整 url 地址。data 中的 article_url 为各详情页的链接地址。代码显示: 1 # 获取街拍页面; 2 def one_page_index(offset, keyword...

2019-09-29 17:27:00 204

转载 requests + 正则表达式 获取 ‘猫眼电影top100’。

使用 进程池Pool 提高爬取数据的速度。 1 # !/usr/bin/python 2 # -*- coding:utf-8 -*- 3 import requests 4 from requests.exceptions import RequestException 5 import re 6 import json 7 from multiproc...

2019-09-27 17:20:00 214

转载 爬虫基础(暂缓更新)

爬虫:请求网站并爬取数据的自动化程序。基本流程:发起请求:通过 HTTP 库向目标站点发情请求,即发送一个 Request ,请求可包含而外的 headers 等信息,等待服务器的响应;获取响应内容:如服务器能正常响应,会得到一个 Response ,Response 的内容便是想要获取的页面内容,类型可能有 HTML、JSON 字符串、二进制数据(如图片视频等类型);...

2019-09-26 09:43:00 150

转载 Git:分布式版本控制系统

参考廖雪峰的 Git 教程:https://www.liaoxuefeng.com/wiki/896043488029600 讲解很详细,这里只做一些个人笔记;各系统安装 Git :https://www.liaoxuefeng.com/wiki/896043488029600/896067074338496一、基础操作:在新建空目录下或者...

2019-08-26 16:18:00 148

转载 项目部署(ubuntu+uwsgi+nginx+supervisor+django)

一、在开发机上的准备工作1、 确认项目没有bug。2、设置`ALLOW_HOST`为你的域名,以及ip地址。4、设置`DEBUG=False`,避免如果你的网站产生错误,而将错误信息暴漏给用户。4、用 cmd 进入项目所在的虚拟环境目录下,用`pip freeze > requirements.txt`命令将当前环境的包导出到`requirements.txt...

2019-07-06 17:29:00 195

转载 视频的上传及购买播放

一、上传视频1:使用百度云:登录百度云:https://cloud.baidu.com/进入管理控制台;开通 “视频点播VOD” 服务;在后台管理系统 --> 右上角“安全认证” --> 获取 “AccessKey”;在 “视频点播VOD” 界面 --> 全局设置 --> 发布设置 --> 安全设置 --> 获取 “Us...

2019-06-22 18:34:00 422

转载 文件上传

一、上传到自己的服务器:使用 AdminLTE 2 网站中的 form 表单的代码:https://adminlte.io/themes/AdminLTE/pages/forms/general.html(使用其原先css样式及HTML代码,代码内容经过精简)前端代码:首先:一个带有输入框跟上传按钮的HTML文件(样式图如下:)1 <...

2019-05-28 18:20:00 189

转载 图形 / 短信 :验证码

message.js文件: 1 // 错误消息提示框 2 3 function Message() { 4 var self = this; 5 self.isAppended = false; 6 self.wrapperHeight = 48; 7 self.wrapperWidth = 300;...

2019-05-21 11:43:00 545

转载 node.js

nvm:用来管理 node 版本的工具。下载 nvm:https://github.com/coreybutler/nvm-windows/releases安装完成添加到环境变量;nvm 命令:nvm install node    :安装最新版 node.js;nvm install [version] :安装指定版本 ...

2019-04-28 16:51:00 100

转载 Redis

  Redis是一个使用ANSI C编写的开源、支持网络、基于内存、可选持久性的键值对存储数据库。其数据是保存在内存中,同时可定时把内存数据同步到磁盘,将数据持久化,比memcached支持更多的数据结构:string,list,set,sorted set,hash。redis的应用:登录会话存储:存储在redis中,数据不会丢失。排行版/计数器:文章的阅读量,网站...

2019-04-26 16:02:00 80

转载 权限和分组

权限:  对表或者模型级别设置权限。不能针对数据级别进行操作。django.contrib.auth.Permission模型包含三个字段:codename:权限的名字;name:该权限的作用; content_type:表示该permission是属于哪个app下的哪个models。创建的模型默认就有三种:增、删、改;可在数据库中的...

2019-04-24 18:23:00 162

转载 验证与授权

Django有一个内置的授权系统:包括验证和授权两个部分。用来处理用户、分组、权限以及基于cookie的会话系统。验证:验证这个用户是否是他声称的人(比如用户名和密码验证,角色验证)授权:给与他相应的权限。Django内置的权限系统:用户。权限。分组。一个可以配置的密码哈希系统。一个可插拔的后台管理系统。授权系统:默认中创建完一个djan...

2019-04-21 22:20:00 193

转载 CSRF、XSS、clickjacking、SQL 的攻击与防御

CSRF攻击原理:  跨站请求伪造。是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。  网站通过cookie来实现登录功能。而cookie只要存在浏览器中,那么浏览器在访问含有这个cookie的服务器的时候,会自动的携带cookie信息到服务器上去。就会存在一个漏洞:当你访问了一个病毒网站时,该网站可以在网页源代码中插入js代码,使用js代码给其...

2019-04-19 23:04:00 172

转载 上下文处理器及中间件

上下文处理器  返回一些数据,在全局模板中都可以使用。如登录后的用户信息,在很多页面中都需要使用,可将其放在上下文处理器中,避免在每个视图函数中重复返回这个对象。在settings.TEMPLATES.OPTIONS.context_processors中各个处理器的作用:django.template.context_processors.debug:增加一个deb...

2019-04-16 21:27:00 167

转载 memcached、cookie、session

Memcached(一个高性能的分布式的内存对象缓存系统)  可用来分担数据库的压力。通过在内存里维护一个统一的巨大的hash表,memcached能存储各种各样的数据,包括图像、视频、文件、以及数据库检索的结果等。简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。适用:存储验证码(图形验证码、短信验证码)、登录session等所有不是至关重要的数据。安...

2019-04-12 16:35:00 106

转载 上传文件

前端HTML代码:  需要填入一个form标签,然后在这个form标签中指定enctype="multipart/form-data",不然就不能上传文件。在form标签中添加一个input标签,然后指定标签的name,以及type="file"。后端代码:接收文件。然后存储文件。接收文件的方式跟接收POST的方式是一样的,只不...

2019-04-08 22:50:00 123

转载 表单代码

django表单:渲染表单模板。表单验证数据是否合法。在App中新建的form.py表单文件: 1 from django import forms 2 from django.core import validators 3 from .models import User 4 5 # 定义form表单,label:定义名字;erro...

2019-04-08 11:41:00 1316

转载 高级视图

常用的请求method:GET请求:向服务器索取数据,但不会向服务器提交数据,不会对服务器的状态进行更改。比如向服务器获取某篇文章的详情。POST请求:向服务器提交数据,会对服务器的状态进行更改。比如提交一篇文章给服务器。限制请求装饰器:Django内置的视图装饰器可以给视图提供一些限制。django.http.decorators.http.require_ht...

2019-04-06 17:47:00 214

转载 QuerySet API

模型objects:这个对象是django.db.model.manager.Manger的对象,这个类是一个空壳类,它上面的所有方法都是从QuerySet这个类中拷贝过来的。1 >>>from django.db.models.manager import Manager2 3 def index(request):4 print(...

2019-03-19 17:36:00 173

转载 聚合函数与F/Q表达式

聚合函数取名:field + __ + 聚合函数名字,如:price__avg;可传关键字参数修改名字:avg=Avg("price");aggregate:不会返回一个QuerySet对象,而是返回一个字典,key为聚合函数的名字,value为聚合函数执行结果;annotate:返回一个QuerySet对象;相同点:都可执行聚合函数;可在任何的‘Que...

2019-03-14 16:21:00 415

转载 ORM查询条件

模板: 1 from django.db import models 2 3 class Article(models.Model): 4 title = models.CharField(max_length=200) 5 content = models.TextField() 6 category = models.Foreig...

2019-03-11 16:47:00 353

转载 数据库表关系

一对多:数据库:article_article表内容:一对多关联操作:1 def one_to_many_view(request):2 article = Article(title='西游记',content='abc...')3 category = Category.objects.first()4 author = Fro...

2019-03-06 14:51:00 257

转载 Field笔记

一:时区的转换1、navie时间 和aware时间navie时间:不知道自己的时间表示的是哪个时区;aware时间:知道自己的时间表示的是哪个时区。2、pytz库:用来处理时区的库,会经常更新时区数据,安装django时默认安装;(或通过pip install pytz安装)3、astimezone方法:将一个时区的时间转换为另一个时区的...

2019-03-04 16:43:00 196

转载 ORM模型

一、创建及映射(orm_intro_demo文件)在项目新建App下的models.py文件下新建ORM模型: 1 from django.db import models 2 3 #如果要将一个普通的类变成一个可以映射到数据库中的ORM模型 4 #那么必须要将父类设置成models.Model或者他的子类 5 class Book(models.Mod...

2019-02-26 10:27:00 157

转载 图书系统的简易代码

1、创建项目‘book_manager’及App‘front’,新建数据库 ‘book_manager’ 及表格 ‘book’ ,在‘setting’中添加数据库信息及App,2、在App的‘views’文件中填写显示的内容:首页,添加图书,图书详情;及使用数据库所需的代码‘cursor’内容。在项目的‘url’文件中进行url映射;3、新建base、index、add_b...

2019-02-24 16:46:00 549

转载 模板简单梳理

# 查找路径项目的settings.py文件中的TEMPLATES配置包含模板引擎配置、模板查找路劲配置、模板上下文配置等;配置路径的两个位置:DIRS:在该列表中存放所有的模板路径,在视图中使用render或者render_to_string渲染模板在该列表中查找模板路径;APP_DIRS:默认为True。会在INSTALLED_APPS中安装的APP下的templ...

2019-01-26 18:03:00 82

转载 自制过滤器

流程:在App中创建一个python包templatetags;包下面创建一个python文件(my_filter)用来存储过滤器;在新建的python文件定义过滤器(函数),函数第一个参数为被过滤的值,最多可传两个参数;后需用进行注册;1 #my_filter.py2 from django import template3 register = t...

2019-01-25 21:18:00 248

转载 自制URL转换器

自定义 url 转换器五个步骤:定义一个类。在类中定义一个属性 regex,这个属性是用来保存 url 转换器规则的正则表达式。实现 to_python(self,value)方法,将 url 中的值转换一下,然后传给视图函数的。实现 to_url(self,value)方法,做 url 反转的时候,将传进来的参数转换后拼接成一个正确的u...

2019-01-22 10:39:00 301

转载 URL简单梳理

#DEBUG模式:开启debug模式后,修改项目代码时按下ctrl+s可重启项目;项目中出现bug时,浏览器与控制台会打印错误信息;在生产环境中禁止开启DEBUG模式,有很大的安全隐患;将DEBUG设置为False时,必须设置ALLOWED_HOSTS。ALLOWED_HOSTS:用来设置以后只能通过这个变量中的IP或域名来进行访问...

2019-01-18 22:50:00 169

转载 window下的Django入门

一、window下新建安装(参考书籍:《python编程:从入门到实践》)  新建一个文件夹learning_log,在终端中切换到该目录下,并创建一个虚拟工作环境,运行模块venv创建名为ll_env的虚拟环境(虚拟环境:系统的一个位置,可在其中安装包,与其他python包隔离。)python 3下的命令。激活虚拟环境,运行脚本activate,处于活动状态...

2019-01-10 17:56:00 98

转载 十一、常用内建模块

datetime:  表示的时间需要时区信息才能确定一个特定的时间,否则只能视为本地时间。如果要存储datetime,最佳方法是将其转换为timestamp再存储,因为timestamp的值与时区完全无关。datetime.strptime():转换为str;timedelta:加减 1 from datetime import datetime,timedel...

2019-01-03 16:06:00 90

转载 十、正则表达式

设计思想:用一种描述性的语言来给字符串定义一个规则,凡是符合规则的字符串,我们就认为它“匹配”了,否则,该字符串就是不合法的\d:匹配一个数字;  \w:匹配一个字母或数字;     \s:匹配一个空格(也包括Tab等空白符).:匹配任意字符;  *:表示任意个字符(包括0个);  + :表示至少一个字符;       ?:表示0个或1个...

2019-01-01 17:46:00 78

转载 九、进程与线程

进程:一个任务就是一个进程(Process)线程:进程内的“子任务”称为线程(Thread)线程是最小的执行单元,而进程由至少一个线程组成。多进程和多线程的程序涉及到同步、数据共享的问题一、多进程fork():调用一次,返回两次,把当前进程(父进程)复制了一份(子进程),然后分别在父进程和子进程内返回,子进程永远返回0,父进程返回子进程的ID。子进程需要调用get...

2019-01-01 16:02:00 101

转载 八、错误、调试与测试

1、错误处理try...except...(finally...):finally可不写,可加‘else’表在没有错误时执行else下的内容 1 try: 2 r = 10 / 0 3 print('result:',r) 4 except ZeroDivisionError as e: 5 print('Error:',e)...

2018-12-26 17:35:00 84

转载 七、面向对象编程(OOP)

面向对象编程:一种程序设计思想。OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数。1、类(class)class:自定义的对象数据类型。基于类创建多个对象,每个对象具备类的通用行为,首字母大写(面向对象的设计思想是抽象出Class,根据Class创建Instance【实例】)__init__方法:第一个参数self表示创建的实例本身,在内部把各种属性绑...

2018-12-25 17:13:00 150

转载 六、迭代器与生成器

1、迭代器协议协议:对象必须提供一个next方法,执行该方法要么返回迭代中的下一项,要么引起一个Stoplteration异常,以终止迭代(只能往后不能往前)可迭代对象:实现了迭代器协议的对象(如何实现:对象内部定义一个__iter__()方法)协议是一种约定,可迭代对象实现了迭代器协议,python的内部工具(如for循环,sum,min,max函数等)使用迭代器协议访...

2018-12-18 10:53:00 76

转载 五、IO编程

input/output:输入、输出Stream(流):Input Stream就是数据从外面(磁盘、网络)流进内存,Output Stream就是数据从内存流到外面去。(流:相当于管道)由于CPU和内存的速度远高于外设的速度,所以,在IO编程中,就存在速度严重不匹配的问题。例如要把100M的数据写入磁盘,CPU输出100M的数据只需要0.01秒,磁盘要接收这100M数据可能需要...

2018-12-12 15:12:00 100

转载 简单的例子

验证随机验证码: 1 def check_code(): 2 import random 3 checkcode = '' 4 for i in range(4): 5 current = random.randrange(0,4) 6 if current != i: 7 ...

2018-12-07 17:16:00 123

转载 四、函数

1、定义函数是逻辑结构化与过程化的一种编程方法。 (☆函数return返回的值需用print打印出来。打印函数时,没有return默认返回None)(过程:没有返回值return的函数) 1 def test(x): 2 ''' 3 4 :param x:整形数字 5 :return:返回计算结果 6 '...

2018-12-07 17:15:00 105

转载 三、集合与格式化

一、set:集合(a = {... } 或 a = set(... ) 内部进行for循环,来表示集合)当a = frozenset(... )时,集合表不可变类型,以下内置方法不可用。不同元素组成,无序,元素必须是不可变类型,集合本身是可变类型(不可变:字符串,数字,元组;可变:列表,字典,集合。)方法:add:添加;clear:清空;copy:拷贝;...

2018-11-30 17:37:00 136

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除