
python
liuwons
混,也是一种追求
展开
-
Python搭建聊天机器人微信订阅号
Python利用AIML和Tornado搭建聊天机器人微信订阅号AIML ,全名为Artificial Intelligence Markup Language(人工智能标记语言),是一种创建自然语言软件代理的XML语言,是由Richard Wallace和世界各地的自由软件社区在1995年至2002年发明的。它的雏形是一个名为”A.L.I.C.E.” (“Artificial Linguistic原创 2016-01-28 14:12:26 · 56358 阅读 · 4 评论 -
Python搭建聊天机器人
Python用AIML搭建聊天机器人AIML,全名为Artificial Intelligence Markup Language(人工智能标记语言),是一种创建自然语言软件代理的XML语言,是由Richard Wallace和世界各地的自由软件社区在1995年至2002年发明的。它的雏形是一个名为”A.L.I.C.E.” (“Artificial Linguistic Internet Compu原创 2016-01-27 16:50:59 · 52969 阅读 · 14 评论 -
Python获取免费的可用代理
Python获取免费的可用代理在使用爬虫多次爬取同一网站时,经常会被网站的ip反爬虫机制给禁掉,这时就可以通过使用代理来解决。目前网上有很多提供最新免费代理列表的网站,这些列表里很多的代理主机是可用的,但是也有一些是不可用的,因此需要进一步筛选。利用Python可以很方便地筛选出可用的代理列表。以提供免费代理信息的网站IPCN 国家地区免费代理为例,这里给出一个爬取此网站上提供的代理信息并筛选可用代原创 2016-02-05 22:53:11 · 57527 阅读 · 0 评论 -
Python爬虫之自动登录与验证码识别
Python爬虫之自动登录与验证码识别在用爬虫爬取网站数据时,有些站点的一些关键数据的获取需要使用账号登录,这里可以使用requests发送登录请求,并用Session对象来自动处理相关Cookie。另外在登录时,有些网站有时会要求输入验证码,比较简单的验证码可以直接用pytesser来识别,复杂的验证码可以依据相应的特征自己采集数据训练分类器。以优快云网站的登录为例,这里用Python的requ原创 2016-02-06 19:19:21 · 55996 阅读 · 2 评论 -
身份证号码编码方法及校验算法
身份证号码编码方法及校验算法1 身份证号码的字段构成:地址码身份证前六位,表示户口所在县(市、旗、区)的行政区划代码。生日码身份证第七至第十四位,表示出生的年、月、日。顺序码身份证十五到十七位,为同一地址码所标识的区域范围内,对同年、月、日出生的人员编订的顺序号。其中第十七位奇数分给男性,偶数分给女性。校验码身份证最后一位,根据前面十七位数字码,按照ISO7064:1983.MOD11-2计原创 2016-01-31 00:44:53 · 58420 阅读 · 1 评论 -
Python包装网页微信API并实现简单自动回复
wxBotwxBot 为Python包装的网页微信API。可以很容易地实现微信机器人。github地址: wxBot Dependencies程序用到了Python requests 和 pyqrcode库,使用之前需要安装这两个库:pip install requestspip install pyqrcodeDemo配置了 图灵机器人 之后,通过测试账号发送各种消息的效果:Run运行程序pyt原创 2016-02-12 20:42:09 · 14528 阅读 · 1 评论 -
Python 利用PIL将图片转为字符
Python 利用PIL将图片转为字符PIL(Python Imaging Library)是Python语言的一个图像处理库,已经是Python平台事实上的图像处理标准库了。PIL功能非常强大,而且API非常简单易用,可以用它实现很多图像处理功能。这里介绍一种用PIL将图片转换为字符的方法。实现的效果为:原图像:转换后的字符:CCO$Q$C?COOO?COHNHMMMNM$$MN$C?O$?>77原创 2016-02-02 20:35:28 · 51744 阅读 · 2 评论 -
wxBot微信机器人框架
是Python包装Web微信实现的微信机器人框架。可以很容易地实现微信机器人。 github地址: 环境与依赖目前只能运行于Python 2环境 。 wxBot 用到了Python requests 和 pyqrcode 库,使用之前需要安装这两个库:pip install requestspip install pyqrcode快速开发代码利用 wxBot 最简单的方法就是继承WXBot类并原创 2016-02-23 13:06:18 · 62043 阅读 · 9 评论 -
Python写的实时地球图片下载工具
Himawari8 Image Downloaderhimawari8downloader 是下载卫星 Himawari8 拍摄到的地球近实时照片的 Python 脚本。GitHub 地址: himawari8downloader 。依赖himawari8downloader 依赖 PIL 和 Requests:pip install Pillowpip install requests使用直接运原创 2016-04-03 17:57:15 · 4230 阅读 · 3 评论 -
Python写的一款印象笔记MarkDown同步工具
神器 印象笔记 与 Markdown很久之前就开始记笔记了,印象笔记 的笔记同步以及笔记管理一直很赞,所以一直在使用。最开始的时候是直接用纯文本写笔记。然后开始使用 印象笔记 自己的编辑器来添加标题、加粗文本之类的,不得不说这样做很乏味。后来接触到了神器 MarkDown ,深深了喜欢上了这种简洁优美的标记语言,所有的笔记几乎都是用 MarkDown 来写的。但是 印象笔记 的编辑器并不支持 Mar原创 2016-03-12 17:30:44 · 9360 阅读 · 3 评论 -
浅析 C++ 调用 Python 模块
浅析 C++ 调用 Python 模块作为一种胶水语言,Python 能够很容易地调用 C 、 C++ 等语言,也能够通过其他语言调用 Python 的模块。Python 提供了 C++ 库,使得开发者能很方便地从 C++ 程序中调用 Python 模块。具体的文档参考官方指南: Embedding Python in Another Application调用方法1 链接到 Python 调用库原创 2016-03-14 21:34:55 · 35652 阅读 · 7 评论 -
hexo 解决代码块前后多余空行的问题
解决方案:github issue 通过修改hexo源码来解决: 文件:lib/util/highlight.js 将91行的:numbers += '' + (i + firstLine) + '';content += '' + item + ''; 改为:numbers += '' + (i + firstLine) + '\n'原创 2015-01-10 17:56:52 · 22376 阅读 · 1 评论 -
Windows下python2.7+opencv环境的搭建
opencv是开源的Intel图像处理库,用opencv+python来处理图像非常方便。 首先,安装opencv,去官网http://opencv.org/下个superpack,解压下就行了。 然后,安装python2.7,去官网http://www.python.org/下载最新的python2.7安装包,注意必须是32位的。 下载numpy,http://ww原创 2013-04-11 11:02:52 · 20100 阅读 · 0 评论 -
用otsu算法进行图像阈值化
在对一幅灰度图像进行阈值化操作时,首先需要确定阈值,确定阈值的方法有很多种,otsu算法是其中比较好的一种算法。 otsu算法又称作最大类间差算法。阈值化操作所设的阈值将图像中的所有像素点区分为两个类别:前景和背景。otsu假设最优的阈值是能使这两类之间的类间方法最大的一个值。 类间方差的算法为: M=w1*w2*[u1-u2]^2 其中w1和w2分别是两个原创 2013-04-11 14:16:14 · 20315 阅读 · 0 评论 -
Python中的除法
Python中的除法运算法经常会让人迷惑。 在2.3.x即以前版本中/执行的是传统除法:如果是整数相除,传统除法会舍去小数部分,返回一个整形,即执行地板除。如果是两个浮点数相除,则执行真正的除法。 而Python开发小组已经决定改变/运算符的行为。/的行为将变更为真正的除法。 从Python2.2开始,一个新的操作符//已经被增加进来,以执行地板除://操作符不管操作原创 2013-04-13 21:43:52 · 20561 阅读 · 0 评论 -
python中类的属性
面向对象编程最重要的概念就是类,python中类的属性申明与C++和Java有很大的区别,很容易让C++和Java程序员迷惑。 python中类的静态变量: 静态变量申明于类定义的下一级代码(即与方法定义同级)。以类名和点号加变量名来引用。 python中的实例变量: 实例变量属于类的实例而不属于类,以实例名和点号加变量名来引用。python中实例的属性可以原创 2013-04-14 22:25:55 · 19411 阅读 · 0 评论 -
pysimplesoap实现soap web api
server.pyfrom pysimplesoap.server import SoapDispatcher, SOAPHandlerfrom BaseHTTPServer import HTTPServerimport base64import cv2from frvehiclelpr import *import sysimport jsonlpr = 0def an原创 2014-04-30 17:53:58 · 21196 阅读 · 0 评论 -
python ctypes中void**的表示
利用ctypes可以方便地调用本地的动态链接库dll,但是C中的“指针的指针”很难表示。如果dll中有以下函数:int test(void** p){ if(p == NULL) return -1; void* a = *p; if(a == NULL) return -2; int* b = (int*)a; return *b;}在python中对其进行不用原创 2014-04-18 10:34:37 · 27082 阅读 · 0 评论 -
python调用dll中特定函数的两种方式(ctypes)
1.直接使用函数名,函数名可以用dependency walker等工具查看。import ctypesdll = CTYPES.CDLL("test.dll")res = test(3, 4)2.使用Ordinal,Ordinal可以用dependency walker等工具查看。import ctypesdll = CTYPES.CDLL("test.dll")res =原创 2014-04-18 10:28:51 · 23173 阅读 · 0 评论 -
Windows下python使用SWIG调用C++ dll
有一dll和对应的lib文件,含有以下函数:test.hclass Test{private: int a; int b;public: int r; Test(int, int); int add(); int getV(Test*);}; 则可以编写对应的.i文件:test.i%module test%{#define SWIG_FILE_W原创 2014-04-22 12:59:20 · 23533 阅读 · 2 评论 -
python通过swig调用c++dll时指针的用法
当Python和C++的接口涉及到缓冲区时,可以在Python中创建缓冲区,再将缓冲区的指针传给C++函数(通过创建额外的函数进行转换)。实例如下:Python端:1.获取str表示的二进制数据(读取文件等)。2.利用ctypes包中的create_string_buffer(str)函数创建缓冲区。3.获取int表示的缓冲区地址,利用addressof(buf)函数,bu原创 2014-11-13 17:53:02 · 22634 阅读 · 1 评论 -
Python快速搭建自动回复微信公众号
Python快速搭建自动回复微信公众号在之前的一篇文章 Python利用 AIML 和 Tornado 搭建聊天机器人微信订阅号 中用 aiml 实现了一个简单的英文聊天机器人订阅号。但是只能处理英文消息,现在用 图灵机器人 来实现一个中文的聊天机器人订阅号。这里主要介绍如何利用 Python 的 Tornado Web框架以及wechat-python-sdk 微信公众平台 Python 开发包来原创 2016-04-19 14:07:41 · 21280 阅读 · 2 评论