python
Acm.
这个作者很懒,什么都没留下…
展开
-
进程、线程、协程对比
请仔细理解如下的通俗描述 ● 有一个老板想要开个工厂进行生产某件商品(例如剪子) ● 他需要花一些财力物力制作一条生产线,这个生产线上有很多的器件以及材料这些所有的 为了能够生产剪子而准备的资源称之为:进程 ● 只有生产线是不能够进行生产的,所以老板的找个工人来进行生产,这个工人能够利用这些材料最终一步步的将剪子做出来,这个来做事情的工人称之为:线程 ● 这个老板为了提高生...转载 2018-09-12 10:39:00 · 107 阅读 · 0 评论 -
django获取某一个字段的列表,values/values_list/flat
class Building(models.Model): corporation = models.ForeignKey('company.Corporation', verbose_name=u'学校', related_name='buildings') number = models.CharField(u'楼栋编号', max_length=10, unique=...转载 2019-03-12 10:53:55 · 4740 阅读 · 0 评论 -
python3实现微信公众号确认己方服务器
def wechat_auth_required(log_base='[wechat_api]'): def decorator(view_func): @wraps(view_func) def wrapper(instance, request, *args, **kwargs): signature = request.GET...原创 2019-03-04 11:48:18 · 192 阅读 · 0 评论 -
pip清华大学镜像
临时使用可以在使用pip的时候加参数-i https://pypi.tuna.tsinghua.edu.cn/simple例如:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple gevent,这样就会从清华这边的镜像去安装gevent库。永久修改Linux下,修改 ~/.pip/pip.conf (没有就创建一个), 修改 in...转载 2018-12-26 12:14:50 · 3070 阅读 · 0 评论 -
python安装某些包出错SNIMissingWarning或者InsecurePlatformWarning
简单粗暴的解决方法:pip install pyopenssl ndg-httpsclient pyasn1原创 2018-12-22 16:59:32 · 1086 阅读 · 2 评论 -
IP代理池及做成服务
起因做过爬虫的人应该都知道,抓的网站和数据多了,如果爬虫抓取速度过快,免不了触发网站的防爬机制,几乎用的同一招就是封IP。解决方案有2个:同一IP,放慢速度(爬取速度慢)使用代理IP访问(推荐)第一种方案牺牲的就是时间和速度,来换取数据,但是一般情况下我们的时间是很宝贵的,理想情况下是用最短的时间获取最多的数据。所以第二种方案是推荐的,那么从哪里能找到这么多代理IP呢?寻找代理程序猿不...转载 2018-12-21 16:36:12 · 228 阅读 · 0 评论 -
Django restframework 认证、权限、限流
认证Authentication可以在配置文件中配置全局默认的认证方案REST_FRAMEWORK = {‘DEFAULT_AUTHENTICATION_CLASSES’: (‘rest_framework.authentication.BasicAuthentication’, # 基本认证‘rest_framework.authentication.SessionAuthenti...转载 2018-11-14 16:24:55 · 159 阅读 · 0 评论 -
django命令管理
【简介】django-admin.py是Django的一个用于管理任务的命令行工具。本文将描述它的大概用法。另外,在每一个Django project中都会有一个manage.py。manage.py是对django-admin.py的简单包装,它额外帮助我们做了两件事情:它将你的project的包放到sys.path中它将DJANGO_SETTINGS_MODULE环境变量设置为了你的p...转载 2018-11-12 17:43:27 · 259 阅读 · 0 评论 -
python虚拟环境--virtualenv
virtualenv 是一个创建隔绝的Python环境的工具。virtualenv创建一个包含所有必要的可执行文件的文件夹,用来使用Python工程所需的包。安装pip install virtualenv 基本使用为一个工程创建一个虚拟环境:$ cd my_project_dir$ virtualenv venv #venv为虚拟环境目录名,目录名自定义 virtualenv...转载 2018-11-15 20:48:07 · 155 阅读 · 0 评论 -
python中单例模式的线程安全问题
看了好多文章都是java实现的,特此写一篇python的。这个问题的两种解决方案:1.最简单粗暴的就是在系统中先生成一个单例,就不存在线程安全问题了2.用双重同步锁去实现,一把锁加外面,一把锁加里面:class Singleton(object): __instance = None def __new__(cls, age, name): # 加锁 ...原创 2018-10-07 21:26:33 · 1414 阅读 · 0 评论 -
用python写定时任务
https://www.jianshu.com/p/ab8d9e576ac4转载 2018-09-27 19:47:33 · 489 阅读 · 0 评论 -
python用协程池异步爬取音乐的json数据
# -*- coding: utf-8 -*-# @Author : Acmimport gevent.monkeygevent.monkey.patch_all()from gevent.pool import Poolfrom Queue import Queueimport jsonimport jsonpathimport requestsimport timei...原创 2018-09-22 15:59:33 · 504 阅读 · 0 评论 -
linux下执行python脚本的两种方式
1、直接使用python xxxx.py执行。其中python可以写成python的绝对路径。使用which python进行查询。2、在文件的头部(第一行)写上#!/usr/bin/python2.7,这个地方使用python的绝对路径,就是上面用which python查询来的结果。再用chmod改变文件的执行权限,然后在外面就可以使用./xxx.py或xxx.py执行了。...转载 2018-10-11 10:02:45 · 29007 阅读 · 0 评论 -
用python2.7的requests模块下载图片(案例是200张)
用python2.7的requests模块下载图片(案例是200张)想要增加数据量自己改参数就行了。其中是有些数据重复,可能不到200,但是不会差太远。# -*- coding: utf-8 -*-# @Author : Acmimport jsonimport jsonpathimport requestsbase_url = "https://unsplash.com/...原创 2018-09-20 19:37:22 · 872 阅读 · 0 评论 -
用python爬虫下载20张图片到本地
数据全都是写死的,有需要可以自行修改。import requestsfrom lxml import etreebase_url = "https://unsplash.com/search/photos/flower"headers = {"User-Agent": "Mozilla/5.0 (Linux; Android原创 2018-09-20 17:47:50 · 1057 阅读 · 0 评论 -
Response.iter_content的用法
Response.iter_content原始响应内容在罕见的情况下,你可能想获取来自服务器的原始套接字响应,那么你可以访问 r.raw。 如果你确实想这么干,那请你确保在初始请求中设置了 stream=True。具体你可以这么做:>>> r = requests.get('https://github.com/timeline.json', stream=True)&g...转载 2018-09-20 16:53:10 · 4601 阅读 · 1 评论 -
python中如何安装crypto
A。首先,我们先弄清楚crypto模块是用来干嘛的? crypto是一个很好用的加密算法包,可惜在windows上安装时有许多坑。B。其次,从官网可以查询到: crypto适用于2.7和3.4 pycrypto适用于2.1~3.3C。再不行,就试试下面这个方法: (1)不要使用命令pip install crypto安装,这个命令安装的是crypto包,并不能用 (2)安装pyc...转载 2018-09-17 15:00:11 · 8875 阅读 · 0 评论 -
坑 -> 关于Django orm queryset的update方法
场景:1.需要批量修改库中的某个值2.修改完之后还需要使用queryset马上想到的解决方案:关于这个场景想到了使用queryset.update(xxx=yyy)然后继续使用queryset错误:使用queryset.update(xxx=yyy)会清空整个queryset,返回受影响行数所以无法在之后继续使用queryset可选的一个性能不高的解决方案:for query ...原创 2019-04-19 11:59:01 · 3986 阅读 · 1 评论