- 博客(17)
- 收藏
- 关注
原创 Python多线程的退出控制
Python多线程的退出控制日常前言最近接 到一个抢票的爬虫外包,那个网站及其之捞,访问购票地址竟然还要排队,在购票高峰临时升一下服务器配置不行吗…没办法,甲方爸爸的要求还得做啊,其中一个障碍便是目标网站的后端限制了访问频次,俗话说:“上有政策,下有对策。” 立刻想到了多线程 + 多代理的方式进行访问。但此时问题便来了,多代理还好说,再写个爬虫爬一堆下来就好,多线程可就麻烦多了,多线程一旦...
2019-06-15 14:34:03
49809
6
原创 7行代码实现图片等比例压缩(python)
日常前言最近准备写一个摄影图片的发布功能,之前图方便就直接使用js获取图片了(https://www.messys.top/photos/),现在为了更加方便的使用该功能,当然是要加入后台管理的呀,所以便开了此篇。先把标题的功能做出来(我不是标题党的呀!)from PIL import Imagefile = '1.jpg'img = Image.open(file)w,h = im...
2019-04-22 12:32:01
3148
2
原创 Ajax常用方法与后端(Django)通信403的解决方案
日常前言最近Ajax用的越来越多了,每次用的时候都总是要去慢慢的翻看零散记录的笔记,So,今天整理一份详细的笔记,相信对各位会有点用。开始1、$.ajax()用于向服务器发送HTTP请求,通过不重新加载页面的方式,更新页面的数据。常用的请求方式有GET和POST两种,e.g:$.ajax({ url: '/messyAjax/', type: 'GET', s...
2019-04-08 13:56:06
579
原创 Ajax上传数据与文件与后端Django数据接收——两端引渡数据协议
Ajax上传数据与文件与后端Django数据接收——两端引渡数据协议日前前言这两天做管理台,重写了前端后端所有关于管理的页面、功能。每一个管理卡片都通过jq的load()方法异步加载。这样的方式极大的节省了管理台的资源加载过程和时间。但同时也引出了一些问题,当我想提交POST表单的时候,不能直接加入在html结构中直接加入{% csrf_token %}进行后端验证,这个时候,ajax便又登...
2019-04-03 13:41:10
756
原创 Python监控主机硬件信息
日常前言最近个人网站准备重新写一个管理台,其中一个功能就是监控服务器的硬件资源信息,以下使用psutil库获取硬件信息,给出代码,开箱即用import psutilimport datetimeimport timeclass MessyServerHardware: def __init__(self): self.__now_time = time.strftime('%Y-...
2019-04-01 17:17:59
1439
原创 用Python来管理Nginx日志(按时截断、清空size为0的日志、每月一删)
日常前言最开始建站的时候,网上搜集怎么对nginx产生的日志进行按小时切断的方法,搜出来的基本都是使用sh的脚本(Linux能直接解析的语言),无法完全看懂的我只好直接ctrlCV(T_T)。后来想想,干嘛不用Python试试呢?说写就写!开始第一步,按时截断按时一般来说我们都是不会希望巨多的日志数据全部存储到一个文件里的,所以我们需要按自己的需要进行定时截断日志。在实际生产过程...
2019-03-06 10:04:37
332
原创 没事干?要不用Python找个对象
日常前言哈哈哈,我猜你是被标题骗进来的!,但是我并不是标题党,真真真的来用Python找个对象,只不过这个对象嘛,大家都懂的,当然是Class和self这两个面向对象编程的东西,初学Python的时候学了一点,做了的笔记,敷衍了事,之后便再也没用过了-_-!!当后来建立博客网站的时候,1000多行代码全部挤到一个文件、各种变量重名、各种bug,才知道Class的好处由于Class之后会占用...
2019-03-06 10:02:07
177
原创 用树莓派打造自己的对话式智能家居控制中心——目录
日常前言本项目虽然代码只有500行左右,但是其中的步骤还是挺多的,在这里列出一个目录方便查阅基础操作树莓派的媒体硬件配置https://blog.csdn.net/qq_41082014/article/details/86577565录音https://blog.csdn.net/qq_41082014/article/details/86578364语音识别https://...
2019-01-23 10:26:52
3960
7
原创 用树莓派打造自己的对话式智能家居控制中心——语音合成
日常前言上一篇,介绍了语音识别,现在再来看看怎么合成,还有两家的对比还是先来百度吧因为百度在pip做了一个可以直接调用模块,所以一如既往,需要打的代码还是那么少from aip import AipSpeechAPP_ID = 'xxxxxxxx'API_KEY = 'xxxxxxxx'SECRET_KEY = 'xxxxxxxx'client = AipSpeech(APP_I...
2019-01-22 18:05:51
1036
原创 用树莓派打造自己的对话式智能家居控制中心——语音识别
日常前言既然我们有了录音文件,那么接下来的事便是要交给语音识别了。本章介绍百度和讯飞的语音识别的python调用方法,以及到底谁更好百度语音识别from aip import AipSpeechAPP_ID = 'xxxxxxxx'API_KEY = 'xxxxxxxx'SECRET_KEY = 'xxxxxxxx'#init loginclient = AipSpeech(AP...
2019-01-22 18:04:41
3164
原创 用树莓派打造自己的对话式智能家居控制中心——录音
日常前言既然在硬件篇说到了对话的这么一个东西,那就来解析一下,对话的过程分为以下几个步骤录音语音识别语音合成播放合成的声音那么,本篇先来搞定第一个功能——录音开始import wavefrom pyaudio import PyAudio,paInt16# 录制的音频质量参数framerate=16000NUM_SAMPLES=2000channels=1samp...
2019-01-21 16:54:36
645
原创 用树莓派打造自己的对话式智能家居控制中心——硬件
日常前言智能家居,在我看来,首先要能够进行对话才算是入门。所以,本篇,先来弄好硬件方面的东西,为后面的操作打好坚实的基础!树莓派对媒体设备这方面的支持真的可以说是很差了,做这一步的时候千万不要急,慢慢来,我自己弄了一上午,最后还是重装了一次系统才弄好的…硬件怼上(╯°Д°)╯检查硬件是否连接检查输出设备,可以看到,card0就是我的usb声卡aplay -l检查录音设备,这里有两...
2019-01-21 16:27:49
3077
原创 入坑树莓派——进阶(DS18B20温度传感器)
接线红黑色分别代表正负极,黄色的是数据线,数据线和正极直接接一个9K的电阻查看文件里温度vim boot/config最后一行追加温度设备的配置项dtoverlay=w1-gpio-pullup,gpiopin=4,把硬件的数据线接到gpio4的针上即可sudo modprobe w1-gpio(加载设备)sudo modprobe w1-therm(加载设备)cd...
2019-01-21 16:11:53
7123
1
原创 入坑树莓派——进阶(无线模块)
日常接线某宝搜433模块,4块左右就可以买到这么一组收发模块长方形的是接收模块,有四个针脚,中间两个均为DATA,实测连接任意一个即可接收器的data插到GPIO17的地方(GPIO_GEN0)发射器的data插到GPIO27的地方(GPIO_GEN2)安装需要的库git clone git://git.drogon.net/wiringPi git clone --recursiv...
2019-01-21 14:33:26
4976
原创 用树莓派打造自己的对话式智能家居控制中心——Hi,Messy(二)
日常前言第一篇的唤醒相信度娘搜一下关键词snowboy都能出现与之相似的内容,但是能度娘到的关于snowboy的信息也仅限与此,相信很多人和我当初一样,虽然能唤醒了,但是做不了更多的事情,比如唤醒之后想录个音,或者用pygame、mplayer这样的工具放首歌,snowboy都会直接终止进程,报错无设备,必须要重启才能解决。 So,作为Hi,Me...
2019-01-21 13:07:40
4249
1
原创 用树莓派打造自己的对话式智能家居控制中心——Hi,Messy(一)
日常前言最近一顿脑热,想要弄个家居控制中心,奈何老天总喜欢玩我,尝试过使用dueros镜像,但是它支持支3B,我的是3B+ 后来又买了小度音箱,然后去百度的开发者开放平台逛了一圈,发现,其实开放平台不是很开放不太开放,适合个人开发的技能很少,而且家居控制完全没有办法做,而且音箱时常会有听错的情况发生;后来又去用git上的一个叫做叮当的项目,但是始终唤...
2019-01-21 00:12:49
1321
1
原创 python中的sys.argv
日常前言最近需要用到一个icmp发包的功能,源码一部分写到了sys.argv,实在没怎么懂,度娘一波,操作过程记录下来开始源码分析if len(sys.argv) < 2: dev = "eth0"else: dev = sys.argv[1]解析通过判断sys.argv的长度来选择网卡,先用python试一下到底会有什么输出看到这个输出时候的我:...
2019-01-02 10:18:40
1139
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人