
Python技术杂锦
文章平均质量分 69
使用Python过程的记录分享
Immok
消灭一点,舒服一点;消灭得多,舒服得多;彻底消灭,彻底舒服。
展开
-
【Python】使用ldap3做用户认证
基础环境python3.6pip install ldap3代码# -*- coding: utf-8 -*-from ldap3 import Server, Connection, ALL, SUBTREE, ServerPoolLDAP_SERVER_POOL = ["192.168.0.xxx", "192.168.1.xxx"]LDAP_SERVER_PORT = 389AD原创 2018-01-31 14:51:00 · 10222 阅读 · 1 评论 -
【Python】IPFS的Python接口
相关库pip install ipfsapi参考地址:https://github.com/ipfs/py-ipfs-api接口示例import ipfsapi# 连接IPFS,需要先启动节点服务器daemonapi = ipfsapi.connect('127.0.0.1', 5001)# 查看节点IDapi.id(){'Addresses': ['/ip4/127.0.0.1/tcp/原创 2018-02-07 12:15:36 · 3205 阅读 · 1 评论 -
【Python】Django Channels2.0 使用
简介channels2.0 可以让django具有处理http2,websocket的能力相关库Python3.6Django 2.0pip install channelspip install channels_redis配置settings.py# 添加appINSTALLED_APPS = ( 'django.contrib....原创 2018-02-08 14:20:12 · 3868 阅读 · 2 评论 -
【Python】基于darkflow的YOLO实时对象检测
简介 YOLO全称you only look once,是实时对象检测的技术环境python3.6win10下载安装darkflow项目git clone https://github.com/thtrieu/darkflow.gitpython setup.py build_ext --inplace下载训练好的模型文件yolo.weights将下载好的yolo.weight原创 2018-02-20 13:30:52 · 5776 阅读 · 16 评论 -
【Python】Django使用GraphQL详解
为什么不用RESTRest一次只能请求一个资源,会造成太多的http请求Rest的版本控制问题是一个痛GraphQL的关键语句query:查询,相当于GETmutation:变化,相当于POST, PUT, DELETE环境搭建win10Python3.6pip install django==2.0.1pip install graphen...原创 2018-02-22 18:25:31 · 8795 阅读 · 6 评论 -
【Python】抓取人人都是产品经理的文章
简介使用python3.5支持自动切换User-Agent(基于fake_useragent)支持增量爬取(基于pybloom)支持中断续爬代码# -*- coding: utf-8 -*-#-------------------------------------# author: maqingxiong# date: 2017-10-09# desc: 抓取人人都是产品原创 2017-10-09 12:03:43 · 597 阅读 · 0 评论 -
【Python】抓取京东列表页商品信息(selenium)
分析url:https://search.jd.com/Search?keyword=%E6%89%8B%E6%9C%BA&enc=utf-8&qrst=1&rt=1&stop=1&vt=2&wq=%E6%89%8B%E6%9C%BA&cid2=653&cid3=655&page=1&s=1&click=0每页的商品共有60个,页面先加载前30个,下滑滚动时再加载后30个故用selenium模原创 2017-08-04 17:25:48 · 6428 阅读 · 5 评论 -
【Python】Centos7通过RDO安装openstack(ocata)
机器环境vmware CentOS-7-x86_64-Minimal内存RAM:6G硬盘:20G用户:root网络环境cat /etc/sysconfig/network-scripts/ifcfg-eno16777736HWADDR=00:0c:29:bf:46:a2TYPE=EthernetBOOTPROTO=staticDEFROUTE=yesPEERDNS=yesPEE原创 2017-08-17 18:44:48 · 3148 阅读 · 0 评论 -
【Python】抓取淘宝列表页信息
分析每页的url特征打开淘宝网,搜索 手机第一页:https://s.taobao.com/search?q=%E6%89%8B%E6%9C%BA&imgfile=&commend=all&ssid=s5-e&search_type=item&sourceId=tb.index&spm=a21bo.50862.201856-taobao-item.1&ie=utf8&initiative_id=原创 2017-08-03 20:12:48 · 3511 阅读 · 0 评论 -
【Python】通过截图匹配原图中的位置(opencv)
安装依赖1)下载安装opencv-2.4.9,并将cv2.pyd拷贝到python安装目录的site-package下2)pip install numpy3)pip install aircv准备一张原图和截图原图截图代码import cv2import aircv as ac# print circle_center_posdef draw_circle(img, pos, circle原创 2017-03-04 17:35:54 · 27752 阅读 · 8 评论 -
【Python】django-celery执行定时任务
开发环境系统:win10python: 2.7.12django: 1.9.8安装pip install django-celery 创建项目和APPdjango-admin.py createproject dc_testdjango-admin.py startapp demo编辑settings.pyBROKER_URL = 'django://localhost:8000//'CEL原创 2017-03-18 13:31:50 · 4210 阅读 · 1 评论 -
【Python】Unittest,DDT,Selenium测试百度搜索
安装相关包pip install ddtpip install selenium测试代码# -*- coding: utf-8 -*-import timeimport unittestfrom selenium import webdriverfrom ddt import ddt, data, unpackTEST_URL = "http://www.baidu.com"TEST_原创 2017-02-23 11:45:08 · 1935 阅读 · 0 评论 -
【Python】Centos7下部署Django(nginx+gunicorn)
系统环境centos7 minimalpython2.7.6安装虚拟环境yum install virtualenvpip install virtualenvwrappersource /usr/bin/virtualenvwrapper.shmkvirtualenv myprojectworkon myproject安装项目的依赖包pip freeze > requirements.tx原创 2017-02-09 18:52:45 · 3592 阅读 · 0 评论 -
【Python】用 Protobuf 读写数据
概述1)编写传输消息的数据结构文件2)用protoc工具生成相应的类3)发送方调用类中SerializeToString()方法,将消息序列化成字符串4)接收方调用类中ParseFromString(data)方法,解析传过来的数据下载编译工具1)环境:win10,py2.72)https://github.com/google/protobuf/releases/tag/v3.0.03)原创 2017-02-05 22:06:15 · 7550 阅读 · 0 评论 -
【Python】爬图片,Py2exe打包成EXE,并用inno setup生成安装文件
版本:Python2.7,打包工具Py2exe,在我的百度分享盘有:原创 2014-08-31 14:51:25 · 2140 阅读 · 0 评论 -
【Python】多线程下载韩寒博客文章
注:将韩寒博文目录的第一页,所有文章下载下来原创 2014-10-17 23:53:49 · 882 阅读 · 0 评论 -
【Python】Scrapy抓取多玩Gif图片
文件准备:安装python2.7.5安装pywin32安装py-setuptool要用到的文件打包下载:点击下载安装Scrapy:配置环境变量:将【C:\Python27\】和【C:\Python27\Scripts\】加到系统变量Path中安装pip:打开CMD,执行 easy_install pip安装Scrapy:打开CMD,执行 pip install原创 2015-01-30 17:55:16 · 19803 阅读 · 5 评论 -
【Python】Windows下安装Dpark
GitHub下载项目文件:https://github.com/douban/dpark/解压文件:打开setup.py文件注释掉lz4(不然会出现问题,lz4另外自己安装,若出现问题则全部注释,逐个pip install)安装VS,参考这里修改好自己的msvc9compiler.py文件安装LZ4:打原创 2015-02-04 10:53:08 · 1972 阅读 · 4 评论 -
【Python】发送带文字图片附件的邮件
#coding: utf-8import smtplibfrom email.mime.multipart import MIMEMultipartfrom email.mime.text import MIMETextfrom email.mime.image import MIMEImageHOST = "smtp.gmail.com"SUBJECT = u"官网业务服务质量周报转载 2015-02-09 21:39:17 · 8659 阅读 · 1 评论 -
【Python】寻找电影品味相似的用户并推荐相关电影
原理:用爬虫抓取豆瓣电影用户信息用多重分类法,定义电影评价等级计算自己与用户的皮尔逊相关度将皮尔逊相关度接近于1的用户提取出来电影评价多重分类:用户信息录入:#-*- coding: utf-8 -*-import jsonimport sysreload(sys)sys.setdefaultencoding( "utf-8" )user_i原创 2015-02-13 17:06:54 · 3071 阅读 · 2 评论 -
用图片搜索相似图片(视觉单词)
代码地址代码GitHub地址准备文件vlfeat(SIFT的开源实现):下载地址解压后将vlfeat-0.9.20\bin\win32加到系统的Path路径中,以便在命令行用sift命令安装pysqlite:pip install pysqlite安装matplotlib:pip isntall matplotlib安装cherryPy(轻量级网页服务器):pip install ch原创 2015-03-06 17:12:27 · 4106 阅读 · 6 评论 -
【Python】threading.Event模块控制多线程
简介python中的threading.Event()操控线程的过程有: - 定义事件:man_talk_event = threading.Event() - 创建线程,传入对应事件:t1 = threading.Thread(target=man, args=(man_talk_event,), name='man') - 阻塞对应事件线程:man_talk_event.wait()原创 2015-05-05 13:30:39 · 6897 阅读 · 1 评论 -
【Python】用setuptools打包项目
创建项目文件夹和setup.py文件项目目录结构:work-> project_file-> ->__init__.py ->hello.py setup.py编写setup.py文件要先安装setuptools:下载安装setuptools#-*- encoding: UTF-8 -*-from setuptools import se原创 2015-05-07 13:07:43 · 5824 阅读 · 1 评论 -
【Python】使用 multiprocessing.dummy 执行多线程任务
# -*- coding: utf-8 -*-from multiprocessing.dummy import Pool as ThreadPoolimport timeimport urllib2urls = [ 'http://www.python.org', 'http://www.python.org/about/', 'http://www.onl转载 2015-09-26 22:11:00 · 17079 阅读 · 0 评论 -
【Python】Flask-RESTful使用
参考文章参考文章地址项目结构myapi/ __init__.py app.py # this file contains your app and routes resources/ __init__.py foo.py # contains logic for /Foo bar.py转载 2016-01-20 14:47:43 · 4228 阅读 · 0 评论 -
【Python】使用pypy加速
前言psyco模块不再维护,且不支持2.7和以后的版本,故使用pypy测试脚本# test.pyimport timedef fib(n): if n <2: return n else: return fib(n-1)+fib(n-2)t1 = time.time()fib(40)print time.time() - t1测试结果用pyp原创 2016-01-23 16:30:19 · 2863 阅读 · 0 评论 -
【Python】抓取拉勾网全国Python的招聘信息
分析寻找目标url打开firebug,切换到 XHR 面板在拉勾网首页中搜索python关键字,地区选全国可以看到下图的信息 目标url为:http://www.lagou.com/jobs/positionAjax.json?px=default要同时post的数据有:first,kd,pn点击下一页的时候,pn变成2,故pn代表当前页面数看到首页搜索结果可以发现共有30页,即可以构造原创 2016-01-25 21:17:52 · 3510 阅读 · 6 评论 -
【Python】给pypy安装第三方库
前言pypy刚装好的时候不带第三方库先给pypy安装pip再用pypy/bin/pip来安装第三方库给pypy安装pip下载get-pip.py文件:点击下载get-pip.py下载后执行 pypy get-pip.py稍等片刻就给pypy安装好pip了用pypy/bin下的pip安装第三方库比如说要安装requests则执行 pypy/bin/pip install reque原创 2016-01-28 23:07:20 · 13795 阅读 · 6 评论 -
【Python】用base64和RC4给数据加密/解密
# -*- coding: utf-8 -*-import random, base64from hashlib import sha1def crypt(data, key): """RC4 algorithm""" x = 0 box = range(256) for i in range(256): x = (x + box[i] + ord转载 2016-01-29 21:29:58 · 7465 阅读 · 1 评论 -
【Python】基于Celery的分布式应用
架构安装Celerypip install celery编写Task-Func#-*-coding:utf-8-*-#download.pyfrom celery import Celeryimport urllibapp = Celery('download', broker='redis://localhost:6379/1')# 图片urlimg_url = ["http://img原创 2016-03-24 20:58:46 · 3093 阅读 · 0 评论 -
【Python】文本分析
依赖库pip install jiebapip install matplotlibpip install wordcloud词频统计# -*- coding: utf-8 -*-import jiebafrom wordcloud import WordCloudimport matplotlib.pyplot as plt# 加载自定义分词字典jieba.load_userdict原创 2016-05-01 21:16:32 · 10569 阅读 · 0 评论 -
【Python】Ceph的python接口
参考文章ceph的python_api文档连接ceph集群import radoscluster = rados.Rados(conffile='/etc/ceph/ceph.conf')cluster.connect()创建与删除池# 列出可用的池pools = cluster.list_pools()for pool in pools: print pool# 创建池test原创 2016-08-02 11:56:37 · 4451 阅读 · 2 评论 -
【Python】Supervisor安装与使用
安装系统:centos7执行命令:pip install superviosr生成配置文件echo_supervisord_conf > /etc/supervisord.conf编辑配置文件(去掉注释并修改)...[inet_http_server] port=*:9001 username=user password=123[inc原创 2017-01-10 14:52:21 · 2192 阅读 · 0 评论 -
【Python】Ansible安装与使用
机器信息主机:192.168.88.101(centos7)从机:192.168.88.104(centos7)从机:192.168.88.105(centos7)安装yum install -y epel-releaseyum install -y ansible设置SSH免密码登陆1)在主机中执行:ssh-keygen2)使用ssh-copy-id命令来复制Ansible公钥到从机中:原创 2017-01-12 16:22:07 · 1390 阅读 · 0 评论