Python
文章平均质量分 69
Immok
消灭一点,舒服一点;消灭得多,舒服得多;彻底消灭,彻底舒服。
展开
-
【Python】多线程下载韩寒博客文章
注:将韩寒博文目录的第一页,所有文章下载下来原创 2014-10-17 23:53:49 · 845 阅读 · 0 评论 -
【Python】爬图片,Py2exe打包成EXE,并用inno setup生成安装文件
版本:Python2.7,打包工具Py2exe,在我的百度分享盘有:原创 2014-08-31 14:51:25 · 2099 阅读 · 0 评论 -
【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 · 1934 阅读 · 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 · 8567 阅读 · 1 评论 -
【Python】DNS域名轮循业务监控
应用背景:大部分的DNS解析都是一个域名对应一个IP地址,但通过DNS轮循技术可以做到一个域名对应多个IP,从而实现负载均衡,减轻服务器压力,不过此方案的最大弊端是目标主机不可用时无法被自动剔除,因此做好业务主机的服务可用监控至关重要步骤:获取域名所有的A记录解析IP列表对所有IP进行HTTP级别的探测#-*- coding: utf-8 -*- #!/usr/b转载 2015-02-09 20:36:34 · 2247 阅读 · 1 评论 -
coreseek实时索引全文搜索
工作流程:安装coreseek(win32版)建立一个实时索引配置文件根据配置文件开启searchd服务器向mysql数据库实时插入数据启动python客户端访问和搜索安装coreseek(win32版)官网下载:http://www.coreseek.cn/products-install/install_on_windows/这里的版本为4.0.1建立实时索原创 2015-02-18 18:42:14 · 4403 阅读 · 0 评论 -
【Python】Fabric文件打包,上传与校验
概述:用pip安装fabric, (使用SSH协议)将本地文件打包, 发送到目标主机,校对文件的md5sum 代码:#!/usr/bin/env python#-*- coding: utf-8 -*-from fabric.api import *from fabric.context_managers import *from fabric.contrib.cons转载 2015-02-12 18:58:26 · 6300 阅读 · 0 评论 -
【Python】Tanimoto相似度算法实现
公式:假设A = [1,2,3,4] ,长度为4假设B = [1,2,5,6] ,长度为4 则AB的公共部分C = [1,2], 长度为2AB的相似度为:2 / (4 + 4 - 2) = 0.33算法:方法一:#-*- coding: utf-8 -*-#user_data为用户信息嵌套字典#如{'fabrice' : {'water' : 3}}d原创 2015-02-14 16:02:55 · 7400 阅读 · 0 评论 -
【Python】寻找电影品味相似的用户并推荐相关电影
原理:用爬虫抓取豆瓣电影用户信息用多重分类法,定义电影评价等级计算自己与用户的皮尔逊相关度将皮尔逊相关度接近于1的用户提取出来电影评价多重分类:用户信息录入:#-*- coding: utf-8 -*-import jsonimport sysreload(sys)sys.setdefaultencoding( "utf-8" )user_i原创 2015-02-13 17:06:54 · 2883 阅读 · 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 · 3970 阅读 · 6 评论 -
opencv全景拼接例子
流程下载Cmake并将其bin目录加入环境变量:Cmake官网下载在D:\opencv\sources\samples\cpp下新建一个文件夹project在D:\opencv\sources\samples\cpp下修改CMakeLists用cmake编译目标文件stitching_detailed.cpp为VS2012项目打开生成的解决方案,配置VS2012环境,编译用生成的debu原创 2015-03-03 22:36:47 · 6175 阅读 · 0 评论 -
搜索引擎四:CoreSeek配置MySql数据源
安装MySql和CoreSeek这里用的是MySql5.0和Coreseek4.0.1-win32安装参考:MySql5.0安装指南默认主机:localhost默认MySql端口:3306下载解压Coreseek:下载Coreseek修改root用户密码默认的root用户没有密码 到mysql安装目录的bin目录下执行cmd命令:mysqladmin -u root -passwo原创 2015-02-25 16:13:03 · 4078 阅读 · 0 评论 -
搜索引擎一:实现目标
项目架构:流程分析:Scrapy引擎不断爬取网页的概要信息和对应URLMySql作为数据源,实时存放爬取到的数据CoreSeek全文搜索*MySql的数据,并与Django交互*Django作为交互Web页面Nginx和flup作为服务器原创 2015-02-24 13:41:22 · 1089 阅读 · 0 评论 -
搜索引擎五:Scrapy抓取数据入库
目标抓取相关网页的概要(summary)和链接(url)入库Scrapy相关原理参考:Scrapy原理分析设置item.py文件# -*- coding: utf-8 -*-import scrapy#设置要抓取的字段#summary和urlclass UrlItem(scrapy.Item): summary = scrapy.Field() url = scrapy.F原创 2015-02-27 13:10:52 · 4864 阅读 · 0 评论 -
搜索引擎七:总结
项目代码项目Github地址总结项目由服务器,数据库,全文索引引擎,爬虫框架,网页框架组成每一部分都可以随时更换别的工具或自己写插件对于服务器来说,因为开发环境是windows,所以选取了nginx+flup作为服务器,在linux下可以选择nginx+uwsgi作为服务器对于数据库而言,这里用了mysql,但因为python可以连接几乎所有的数据库,因此可以用各种数据集代替,比如mon原创 2015-02-27 17:17:39 · 874 阅读 · 0 评论 -
搜索引擎三:搭建Nginx服务器
安装Nginx和flup在Nginx官网下载稳定版1.6.2.zip:点击下载安装flup:pip install flup将下载的nginx.zip文件解压放到,E:(最好是英文路径)原理分析在浏览器输入url,发送请求,假设端口8000nginx监听端口,可以监听多个,这里只监听8000端口nginx设定分发的服务器,可设多个均衡负载,这里设定127.0.0.1:8001这样每当原创 2015-02-24 18:04:56 · 1366 阅读 · 0 评论 -
【Python】Socket通讯
简介例子源自官方手册:Python官方手册socket 以下例子同时支持IPv4和IPv6注意事项:服务端必须获得权限,最好在linux系统上运行服务端服务端(linux系统上运行,要赋予权限)# Echo server programimport socketimport sysHOST = None # Symbolic name meaning all available in翻译 2015-05-06 11:44:52 · 1341 阅读 · 0 评论 -
移植MPlayer
编译好的文件编译好的MPlayer-ARM版本直接放到开发板某个位置执行./mplayer 1.mp3 测试听到天空之城,说明测试成功转载 2015-04-25 10:25:21 · 580 阅读 · 0 评论 -
搜索引擎二:Django网站首页设计
安装Djangopip install django或者是: easy_install django新建项目和应用找一个地方放项目文件:这里是E盘按住shift,再点击右键,打开CMD输入:django-admin startproject search_engine这样就新建了个名为search_engine的项目文件夹进入这个文件夹,再用步骤2方法打开CMD输入:mana原创 2015-02-24 17:27:42 · 3390 阅读 · 1 评论 -
【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 · 6663 阅读 · 1 评论 -
搜索引擎六:Django结果页面设计
流程将coreseek/api中的sphinxapi.py复制一份到django项目文件夹修改views.py新增一个结果页面的调用函数新建一个result.html对应views.py的调用函数启动nginx+flup服务器启动coreseek的searchd服务器输入查询结果修改views.py文件# -*- coding:utf-8 -*-from django.shortcu原创 2015-02-27 16:32:10 · 3535 阅读 · 0 评论 -
【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 · 5737 阅读 · 1 评论 -
【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 · 19468 阅读 · 5 评论 -
【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 · 16981 阅读 · 0 评论 -
【Python】豆瓣FM API分析
原文地址豆瓣FM非官方API分析原理豆瓣并没有开放 douban.fm 的API以下的分析只是通过抓包,并结合网上前人的研究,猜测参数的作用通过python的requests模块来测试根据Arguments构造传入参数结构体,发送http请求获取到的是json数据,用json.loads()转成字典进行操作登录接口使用 douban.fm 并不需要使用豆瓣的 OAuth 认证,只需要转载 2015-04-25 13:12:06 · 5699 阅读 · 0 评论 -
【Python】浅谈Python装饰器
浅谈Python装饰器By 马冬亮(凝霜 Loki)一个人的战争(http://blog.csdn.net/MDL13412)前置知识一级对象Python将一切视为 objec t的子类,即一切都是对象,因此函数可以像变量一样被指向和传递,我们来看下面的例子:[python] view plaincopyprint?转载 2015-05-05 10:49:11 · 897 阅读 · 0 评论 -
【Python】抽象类例子
# -*- coding: utf-8 -*-# Python抽象类的基本模板from abc import ABCMeta, abstractmethod# 定义抽象类,继承objectclass People(object): # 定义为抽象类 __metaclass__ = ABCMeta def __init__(self, name = 'Mike'):原创 2015-05-05 19:26:36 · 2066 阅读 · 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 · 4140 阅读 · 0 评论 -
【Python】爬虫小结
1.获取页面源代码1.1获取http类型的源代码import time,os,cookielib,urllib2,urllibimport pymssql,datetime,StringIO,gzipdef getHtml(url,referurl=None,cookie=None,postdata=None,ip=None): cookie_support= urllib2原创 2015-10-21 16:48:41 · 833 阅读 · 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 · 2813 阅读 · 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 · 3477 阅读 · 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 · 13609 阅读 · 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 · 7343 阅读 · 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 · 3048 阅读 · 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 · 10498 阅读 · 0 评论 -
【Python】搭建redis集群
需要安装的东西redis-3.0.7ruby-1.8.7:sudo apt-get install rubyrubygems:sudo apt-get install rubygemssudo gem install redispip install redis-py-cluster修改配置文件redis.conf这里创建3个节点,所以复制3份redis.conf分别命名为:redi原创 2016-03-20 22:21:19 · 1488 阅读 · 0 评论 -
【Nginx】Tengine+Keepalived实现主从模式双机热备
机器列表主:192.168.88.109 (centos7)从:192.168.88.107 (centos7)VIP:192.168.88.120安装tengine(加强版nginx)下载:http://tengine.taobao.org/download_cn.html上传 解压 并进入目录安装依赖库文件:yum install gcc-c++ yum -y install pc原创 2016-08-07 18:44:25 · 764 阅读 · 0 评论 -
【Ceph】基于Tornado的Ceph文件上传与下载及在线预览
概述用tornado作为http服务器在处理post/get请求的方法中,调用librados(python)接口实现写入上传#!/usr/bin/env python# -*- coding: UTF-8 -*-import tornado.ioloopimport tornado.webimport osimport radosclass UploadFileHandler(to原创 2016-08-02 17:43:54 · 3014 阅读 · 2 评论 -
【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 · 4322 阅读 · 2 评论 -
【Ceph】centos7搭建Ceph集群(jewel)
机器列表192.168.88.109 node1 (mon, ceph-deploy)192.168.88.107 node2 (osd)192.168.88.108 node3 (osd)关闭selinux修改/etc/selinux/config, 将值设为disabled, reboot创建用户并赋予root权限(每个节点都要)这里创建的用户为:cent 密码是centsu原创 2016-07-30 18:59:56 · 6653 阅读 · 1 评论