- 博客(21)
- 收藏
- 关注
原创 orm最全宝典
基本查询get 查询单一结果,如果不存在会抛出模型类.DoesNotExist异常。all 查询多个结果。count 查询结果数量。>>> BookInfo.objects.all()<QuerySet [<BookInfo: 射雕英雄传>, <BookInfo: 天龙八部>, <BookInfo: 笑傲江湖>, <BookInfo: 雪山飞狐>, <BookInfo: 西游记>]>>>>
2020-08-07 20:03:15 189
原创 wrap_socket() got an unexpected keyword argument ‘_context‘
python3.8使用celery报错wrap_socket() got an unexpected keyword argument ‘_context’原启动方法为:起执行任务的服务elery worker -A celery_task -l info -P eventlet起提交任务的服务celery beat -A celery_task -l info改变服务器启动方法不要用eventlet,加个参数celery worker -A celery_task --loglevel=
2020-08-06 16:42:43 754
原创 celery使用+定义时间任务
首先说明我用的django框架,那么为什么要使用celery框架,django3.0以下版本都是同步处理请求,假设我现在有一万个任务,我的django框架是承受不了的,所以就用到了clery异步.首先在settings配置# 异步任务代理CELERY_BROKER_URL = 'redis://127.0.0.1:6379/'# 任务结果CELERY_RESULT_BACKEND = 'redis://127.0.0.1:6379/'# 保存格式CELERY_RESULT_SERIAL
2020-08-05 20:18:59 688 1
原创 redis最完整的解释
redis五大数据类型Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。redis五大数据类型实现原理目录1、对象的类型与编码2、字符串对象3、列表对象4、哈希对象5、集合对象6、有序集合对象7、五大数据类型的应用场景8、内存回收和内存共享9、对象的空转时长在Redis中,并没有直接使用这些数据结构来实现键值对数据库,而是基于这些数据结构创建了一个对象系统,这些对象系统也就是前面说的
2020-08-05 08:19:24 1384 1
原创 UWSGI和WSGI和nginx
什么是UWSGI和WSGIuwsgi协议uwsgi(小写!)协议是uWSGI服务器使用的本机协议。它是一个二进制协议,可以携带任何类型的数据。uwsgi数据包的前4个字节描述了该数据包包含的数据的类型。每个uwsgi请求都会以uwsgi格式生成响应。甚至Web服务器处理程序也遵守此规则,因为HTTP响应是有效的uwsgi数据包(请参阅modifier1= 72)。该协议主要通过TCP起作用,但是主进程可以绑定到UDP单播/多播,用于嵌入式SNMP服务器或群集管理/消息请求。SCTP支持正在开发
2020-07-30 11:36:05 225
原创 网络协议http与https,tcp和udp,tcp/ip
HTTP和HTTPS是什么?我们使用浏览器访问一个网站页面,在浏览器的地址栏中我们会看到一串URL,如图网站的URL会分为两部分:通信协议和域名地址。域名地址都很好理解,不同的域名地址表示网站中不同的页面,而通信协议,简单来说就是浏览器和服务器之间沟通的语言。网站中的通信协议一般就是HTTP协议和HTTPS协议。HTTP协议HTTP协议是一种使用明文数据传输的网络协议。一直以来HTTP协议都是最主流的网页协议,但是互联网发展到今天,HTTP协议的明文传输会让用户存在一个非常大的安全隐患。试想一下
2020-07-30 11:27:42 1238
原创 flask中使用原生sql语句
话不多说直接上代码config配置SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://root:6666@127.0.0.1:3306/xu_falask'SQLALCHEMY_TRACK_MODIFICATIONS = False导包from flask import Flaskapp = Flask(__name__)db = SQLAlchemy(app)# 原生sql插入db.session.execute( 'insert i
2020-07-29 19:41:45 2578 2
原创 生成并使用jwt
废话不多说 直接上代码# 导入jwtimport jwt# jwt加密def encrypt_jwt(datas): playload = { # 过期时间 'exp': int((datetime.datetime.now() + datetime.timedelta(seconds=86400 * 7)).timestamp()), 'data': datas } # 生成jwt encode_jwt = jwt.
2020-07-29 17:10:29 157
原创 python常见算法面试题
def num(): return [lambda x: i*x for i in range(4)] # 这里使用的是lambda函数 print([m(2) for m in num()]) # 输出: [6, 6, 6, 6]这题涉及到了闭包延时绑定,当循环执行完了之后才会执行传参,循环四次,每一次循环完 i=3 然后再和x相乘 所以结果是6,6,6,6。 如果把 [ lambda x: ix for i in range(4) ] 改成 ( lambda x: ix for
2020-07-06 11:25:26 1531
原创 python中字典常用方法
以score为例 score = {'Michael': 95, 'Bob': 75, 'Tracy': 85}print(score['Bob']) # 通过key获取value值print(score.get('kk')) # 通过key获取value值score['KK'] = 123print(score) # 添加score.pop('Bob')print(score) # 删除print(score.keys()) # 查看所以keyprint(scor
2020-07-06 11:02:14 101
原创 python中元组常用方法
以numbers为例 numbers = (1, 2, 3, 4, 5, 4, 1, 2, 1)print(numbers.index(5)) # 查找数据的下标print(numbers.count(1)) # 出现的次数print(min(numbers)) # 返回最小值print(max(numbers)) # 返回最大值print(len(numbers)) # len() 求元组的长度list1 = [1, 2, 3]print(tuple(list1))
2020-07-06 10:59:43 840
原创 python中list常用方法
以list1为例 list1 = [1, 2, 3]list1.append(5) # 在列表末尾添加一个新的值print(list1)list2 = ['4', '5', '6']list1.extend(list2) # 在列表末尾添加另一个列表print(list1)list1.insert(1, 8) # 指定添加一个数据print(list1)list1.pop(2) # 指定移除某个值print(list1)list1.reverse() # 反转p
2020-07-06 10:57:28 212
原创 python字符串常用方法
以str1为例 str1 = “hellopythonhelloworld”print(str1.title()) # 首字母大写result: dlrowollehnohtypollehprint(str1.upper()) # 将所有字母大写result: HELLOPYTHONHELLOWORLDprint(str1.title()) # 将首字母大写result: Hellopythonhelloworldprint(str1.find('h', 18, 20)) #
2020-07-06 10:52:22 183
原创 python爬虫爬取json数据
python爬虫爬取json数据有的时候我们在爬取的过程中会遇到一种情况,Elements有数据,可是在Network没有你想要数据,这个时候可能就遇到json了,这个时候怎么办呢,别急我们来慢慢来#首先点击XHR#然后看着会有几个数据包 不会太多只有几个一个一个找 总有你想要的数据#有我们看不懂的数据怎么办呢,把你看不懂的数据复制下来放进这个网址里:http://www....
2020-01-10 18:56:08 4152
原创 爬虫中如何使用selenium,适用于小白
我们今天来说说怎么用selenium模块爬取首先我们先来看一下selenium的基础语法了解完了基础语法,我们现在写几个实例来让我们更了解selenium#这是利用selenium操作百度的一个实例from selenium import webdriverimport timeww = webdriver.Chrome(r'E:\人工智能\第六个月爬虫\chromedriver....
2020-01-10 11:15:17 693
原创 不太了解scrapy框架的可以看看
带你了解scrapy框架这是scrapy的基本数据模型这是我个人写的一个小实例 小白可以看一下基本流程# -*- coding: utf-8 -*-import scrapyfrom ..items import BokeItemclass BkSpider(scrapy.Spider): name = 'bk' # allowed_domains = ['ba...
2020-01-09 17:32:51 184
原创 Vue那些小坑
身为后端程序袁的我经常后遇到Django与vue交互时的一些小问题:小白适用现在就来说说哪些坑想在vue中展示图片最好是把图片文件夹放在static下Vue端<template> <div align="center"> <button @click="show('人工智能')">人工智能</button> # 点击事...
2020-01-09 17:23:26 171
原创 爬虫中常用的几种数据持久化方式和Django与vue的交互
爬虫中常用的几种数据持久化方式和Django与vue的交互这里我们说到爬虫中数据持久化方式和Django与vue的交互Django与vue的交互后端:CORS_ORIGIN_ALLOW_ALL = True #开启接口'corsheaders.middleware.CorsMiddleware', #放进配置里就可以完成Django与vue的交互了第一种存入csvfro...
2020-01-09 17:04:38 478
原创 增量式爬虫
我们今天来说一个增量式爬虫相信有很多的同学不太理解为什么要用增量式爬虫 增量式爬虫有什么样的作用 今天我就来为大家絮叨絮叨增量式爬虫的意义是为了精准的拿到你想要的数据,好比说我们现在需要爬取某某网站,它的数据呢是实时更新的,我能只想要没有爬取过的数据怎么办呢,我们需要第3方库来帮助我们,我个人用的是redis数据库,我们可以对url进行比对,也可以对数据进行比对,这个根据需求来定制。...
2020-01-06 19:48:03 428
原创 scrapy持久化到mongdb官方推荐写法
作为一个程序员一定要按标准来现在我来教大家写一种在scrapy框架中持久化到mongdb官方推荐写法好了来看过来重点来了首先打开scrapy中的pipelines.pyimport pymongo #首先导入pymongdb包class ZlsPipeline(object): def __init__(self, mongo_uri, mongo_db): ...
2020-01-06 19:19:05 140
原创 爬虫seleninm防检测
seleninm防检测你好! 在爬虫中遇到selenium进不去页面的情况吗,我来教你解决,你只是缺少这几行代码!!! from selenium.webdriver import ChromeOptions option = ChromeOptions() option.add_experimental_option('excludeSwitches', ['enable-automat...
2020-01-03 14:27:21 353
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人