Archive for 编程

$ sudo apt-get install build-essential xorg-dev libgtk2.0-dev 编译bochs $ ./configure --enable-debugger --enable-disasm $ sudo make $ sudo make install 记录几个目录: /usr/local/bin/bochs Bochs启动程序 /usr/local/bin/bximage Bochs带的制作磁盘镜像文件的工具 /usr/local/share/doc/bochsrc-sample.txt Bochs的配置文件例子 配置文件官方给的例子有详细的解释,修改一下就好。比如我编译的bochs的版本为 bochs-2.5.1,提示错误: device: hd message:ata0-0:could not open hard drive image file '30M.sample' 你可以新建一个hd img 也可以把配置文件里hd注释掉,再修改一下boot就好了. 这样安装的bochs带

Continue

今天用python进行网站数据采集,该站主要有这么几种措施防止数据采集: 1、div标签不标准。闭合标签跑太远,导致采集不准确。 2、放置干扰字符。这种直接提示错误,没有办法采集。错误提示:'ascii' codec can't encode character u'\u3009' in position 5 解决方案: 第一种如果处理不好会带有许多原站信息,采用缩小div标签的范围,但是效果不明显。感觉用正则判断比较不错,但是又经常将标签前后放置很多空格和换行,还是很麻烦。 第二种,根据提示的字符,找到对应的字符“〉”,我到原文中搜索一看,差,震惊。竟然这么写的:“<p〉”。我是没有直接替换,采用保存到文件,然后手动修改,再读取文件处理。

Continue

在抓取网页数据进行html分析的时候,以前一直使用HTMLParser,文档:http://docs.python.org/library/htmlparser.html 自从知道HTMLParser后,一直感觉他就是一个神器,分析简单快捷,几行代码搞定了。 这次在总页面抓取使用HTMLParser,没有问题,很快实现结果。但是在获取详细信息的页面时候,开始提示错误了:HTMLParseError: malformed start tag,各种google,其中有一大部分的结果是关于Beautiful Soup的,于是我了解了Beautiful Soup。HTMLParser还有一个缺点,对编码的处理也不是很友好。 开始安装的Beautiful Soup最新版本4.4.1,有问题,也是报这个错误。由于前面搜索知道换成版本3.07a就好了,直接又换了一个版本。先说官网地址:http://www.crummy.com/software/BeautifulSoup/,Beautiful Soup 3.07a下载地址:http://www.crummy.com/software/Be

Continue

这是一篇转载文章,原文链接:http://www.jb51.net/article/17560.htm 刚写了一个汉字的图片验证码,被错误提示折腾了。看到这篇文章便分享。 报错“UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)” 字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。 decode的作用是将其他编码的字符串转换成unicode编码,如str1.decode('gb2312'),表示将gb2312编码的字符串str1转换成unicode编码。 encode的作用是将unicode编码转换成其他编码的字符串,如str2.encode('gb2312'),表示将unicode编码的字符串str2转换成gb2312编码。 因此,转码的

Continue

今天把操作系统作业做完了,本来以为很简单的一个程序几十行就写完了。没想到写了有二百行,各种添加变量,各种添加if,各种添加for,直接晕菜了。 写得很乱,说不定明天就忘记写得神马意思了。先贴出来,等上机的时候在优化一下。<操作系统课程设计--短作业优先作业调度> code: <pre lang="c"> #include<stdio.h> #include<string.h> #include<stdlib.h> #define MAXNUM 5 #define MAXTIME 20 struct sjf { char name[8]; int arrivetime; int servicetime; int runtime; int is_over;//是否运行完 int starttime; int finishtime; int turnaroundtime; float rightturnaroundtime; }p[MAXNUM]; static int j=0,k=0,l=0;//j当前正在执行的进程 k

Continue

几天前的事了,断断续续也写了几天。用了wxpython写的界面,在ubuntu下写的,在xp下编译成功,win7测试成功。 为防止工具乱用,只支持一个贴吧。代码很多是参考别人的写法,省去了自己阅读javascript的时间,所以总体比较简单,借机大体学习了wxpython,很强大,就是用py2exe编译出来的文件太大了。可能是自己没有优化吧。 现在写程序发现总是调用别人写的代码,神马时候能有水平写个接口让别人用一下T_T..

Continue

用了一个javascript的插件,json传送过来的时间需要是Date对象类型的开始的思路就错了,以为可以直接返回这种类型的数据。差,天真了。后来又看到直接返回含有js语句的json文本,非常不喜欢。就想能不能转成js中Date能识别的格式,哈哈果然有。方法如下: 我用的 ,用json也行哇。views.py里的代码 <pre lang="python">from django.utils import simplejson li = [] for a in articles: article={} article["start"] = a.datetime.strftime('%Y-%m-%dT%H:%M:%S') article["content"] = a.content li.append(article) json = simplejson.dumps(li) return HttpResponse(json)</pre> 其中strftime('%Y-%m-%dT%H:%

Continue

http://pypi.python.org/pypi/mmseg <a>拼音加加5.0 Fundset优选词库多音字容错</a><label></label> http://fundset.ys168.com/ python-segment是一个纯python实现的分词库 http://code.google.com/p/python-segment/ <h2 id="其他中文分词项目">其他中文分词项目:什么语言也有</h2> http://judou.org/trac/

Continue

收集了一点资料 字典库:http://www.mdbg.net/chindict/chindict.php?page=cedict 文章:http://iregex.org/blog/simple-nlp-for-chinese.html 中文分词工具包:http://www.iteye.com/news/10746-python-smallseg 代码链接:http://code.google.com/p/smallseg/ 一个搜索算法: SUNDAY 算法描述: 字符串查找算法中,最著名的两个是KMP算法(Knuth-Morris-Pratt)和BM算法(Boyer-Moore)。两个算法在最坏情况下均具有线性的查找时间。但是在实用上,KMP算法并不比最简单的c库函数strstr()快多少,而BM算法则往往比KMP算法快上3-5倍。但是BM算法还不是最快的算法,这里介绍一种比BM算法更快一些的查找算法。 例如我们要在"substring searching algorithm"查找"search",刚开始时,把子串与文本左边对齐:

Continue

查了些验证码的资料,选了一个比较简单的例子,参照着写得不是很好。找了一篇比较经典的收藏了。 <pre lang="PHP"> <?php /** *带文字旋转,倾斜,黏贴,加正弦干扰线验证码* *@version 0.1 *@author http://www.cnblogs.com/chengmo *@copyright 程默 QQ:8292669 */ class Utils_Caption { var $Width = 60; //图片宽 var $Height = 30; //图片高 var $Length = 4; //验证码位数 var $BgColor = "#FFFFFF"; //背景色 var $TFonts = array("font.ttf"); var $TFontSize=array(17,20); //字体大小范围 var $TFontAngle=array(-20,20); //旋转角度

Continue