-
2010-12-02
Too Many Links Error错误
今天写一个脚本处理一个大文件,在一个目录下创建子目录来记录解析出来的信息,结果遇到了这个错误:
Traceback (most recent call last):
File “parse.py”, line 94, in
write_chunk(chunk, ‘data’)
File “parse.py”, line 16,... -
2010-12-02
python通过socket查询whois脚本
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((‘whois.networksolutions.com’, 43))
s.send(‘sina.com.cn \r\n’)
while 1:
v = s.recv(1024)
if v == ” or v == None:
break
print v
s.close() -
2010-12-02
simhash算法
以前的一个项目,用来衡量一张网页在两次不同时间访问时的变化程度,本质上是衡量两个网页的相似程度问题。
原来使用的手动算的内容变化比,结合编辑距离,后来发现了simhash算法,
google有一片论文,detecting near-duplicates for web crawling。
这篇http://www... -
2010-12-02
字符串匹配算法:KMP
今天敲了一遍kmp:
#!/usr/bin/env python
#encoding:utf8
def next(pattern):
p_len = len(pattern)
pos = [-1]*p_len
j = -1
for i in range(1, p_len):
while j > -1 and pattern[j+1] != pattern[i]:
j = pos[j]
if pattern[j+1] == pattern[i]:
j = j + 1
... -
2010-12-01
linux内核升级
linux内核(2.6.35)增加了一个RFS(receive flow steering)的功能,决定重新编个内核试试,转一篇我认为写的还不错的文档,出处是:http://www.piaoyang.org。
序 言
由于开发环境需要在linux-2.6内核上进行,于是准备对我的虚拟机上的Linux系统升级。没想到... -
2010-11-24
给linux添加新硬盘
『转贴』
作者:haohaoo
来自:CnLinux.net工作笔记
转载请保留以上信息,谢谢
在服务器上把硬盘接好,启动linux,以root登陆。
比如我新加一块SCSI硬盘,需要将其分成三个区:
#fdisk /dev/sdb
进入fdisk模式:
Comm... -
2010-11-14
吾日三省吾身
刚从北沙滩踢球回来,感觉踢的不错,就是有些累,抽烟后感觉体力越来越不行了,踢完了猛咳嗽。
回来的路上和在国外的韩老师聊了两句,食,色,性也,看来谁也不能免疫。
到家后洗个澡,热水冲在疲惫的身上很舒服,突然心情很低落,我哭了,现在经常在洗澡的时候哭... -
1. 没有什么事儿(人力不可抗拒除外)是不可以商量的。
2. 求人办事儿很难。 -
2010-07-04
阿根廷输了,我的世界杯结束了~
逻辑战胜了激情,团队战胜了个人。 马大帅的世界杯虽然失败了,但是他证明了一点,阿根廷应该全面的逃离马拉多纳的阴。以后的好球员也不要叫什么马拉多纳的接班人了,因为马拉多纳是神,没有接班人。
-
2010-03-26
基于scrapy的代理抓取(2)
3. 接下来我们要定义一下要抓取的数据的封装类,这里就是用一个对象封装一个代理。
from scrapy.item import Item, Field class ProxyItem(Item): ip = Field() port = Field() ... -
2010-03-26
基于scrapy的代理抓取(1)
今天主要给大家介绍一下基于Scrapy的代理抓取的实现。
Scrapy(http://scrapy.org/)是一套基于基于Twisted的异步处理框架,纯python实现的爬虫框架,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页内容以及各种图片,非常之方便~
整个处理流程:... -
2010-03-16
八
今天必须在来一条八卦了,
大家知道三环苏州桥那堵车是什么感觉吗?
就像是你(男性)想去大便,好不容易跑到厕所,发现唯一的坑被一个小便的家伙给占用了~,你干着急没用!!!
-
2010-03-16
通过ip反查asn信息
这回不是八卦了~ 本篇主要介绍通过Team Cymru 提供的服务接口,使用whois或者dns查询的方法从一个ip地址查到对应的asn和BGP prefix等相关信息。文中内容取自http://www.team-cymru.org/Services/ip-to-asn.html。 Team Cymru主要提供一下四种查询方式: Whois (TCP 43) DNS (UDP 53) HTTP (TCP 80):ht... -
2010-03-12
hypertable成立公司了~
纯八卦~
今天maillist里面发现hypertable成立了公司,为客户提供7×24的支持,是好事还是坏事?
-
2010-03-03
使用python进行IP地址补齐
这年头不记点儿小脚本还能干些啥呢!
考虑如下俩ip地址:
ip1 = '11.0.1.8'
ip2 = '9.21.1.1'
其实ip2是大于ip1的(184549640>152371457),但是如果存储为字符串形式,那么比较的结果就是反的(ip1<ip2)。
写一个python脚本把‘11.0.1.8’... -
2010-02-27
再一次遭遇hypertable bug~
今天下午经历了一场“噩梦”般的code review,看着自己几个月前写的代码,自己都不好意思~呵呵。不过完事儿后心情还是超好!毕竟吗,发现问题,解决问题才是王道。
边看乡村爱情故事边上网,随便看了几眼hypertable issue list,发现我又中奖了~,遇到了两个hypertable的bug。
1. RangeServer crash,生成core dump文件,bt看一下调用栈的情况:
... -
2010-02-26
tar: Removing leading '/' from member names
今天在写一个备份脚本的时候,使用tar命令压缩以前的备份文件,发现了这个错误信息:
tar: Removing leading `/’ from member names
google了一下,发现这是tar命令为了避免不必要的错误而做的限制。如果用户在压缩文件时使用了绝对路径,那么tar会自动的剥离掉第一个‘/’。
例如,你想备份/etc的内容:
$tar -c... -
2010-02-23
集体智慧 - [Programming Collective Intelli]
Programming Collective Intelligence是一本非常好的机器学习的入门书,作者着力于用实际的代码、通俗的语言将机器学习的相关理论和算法介绍给没有太多领域知识背景的读者。
本人读书向来不持久,所以现在把看书过程中得到的东西和想法记录下来以备忘,有的是书上的原文我的翻译,有的还参杂了我的一些看法。
1. 啥是Collective Intelligence?
Collective Intell... -
2009-12-20
python后台运行脚本
后台运行python脚本而不受ssh logout影响。
nohup python daemon.py &
-
2009-12-15
hypertable应用场景
最近在使用hypertable的过程中,有一种类似于关系数据库的join的操作。考虑如下场景:
domain表:记录域名相关的信息
url表:记录url这个级别的信息。
那么对于一个domain下有那些url这种需求如果来用数据来表示呢?如果对于传统的RDBMS,一个join操作就可以了。那么对于不支持join的hypertable,该如何实现呢?
一个自然的想法就是在domain中存储它下面的u... -
2009-12-08
setuptools参数速记
使用python setuptools来生成发布包,下面几条命令分别来制作不同的开发包。详见
python setup.py bdist_egg
python setup.py build # 编译
python setup.py sdist # zip格式包
python setup.py bdist_wininst # exe格式... -
2009-12-01
linux实用命令
查看当前目录大小:du -h -s ./* -
2009-11-26
python 性能调整一例
上帝说选择了脚本语言,就不要谈速度了 。
本着听上帝的话的原则,对最近的几个速度慢的脚本也没怎么在意。今天仔细一看,不能忍了,导入700多M的数据内存已经用了快4G了,速度还贼慢!唉,写python脚本都写出内存泄漏来,看来我是真没发展了!仔细一想,应该是我在处理脚本的时候创建了大量的对象而没有被python垃圾回收。python性能调优一文和我的问题基本一致。看来回头真要深入一下python的细节了。 -
2009-11-26
libcurl代理检测奇怪错误
前些日子使用pycurl写一个代理检测的脚本,基本的思路就是使用代理连接特定的网站,能够顺利返回就证明代理有效。采用的库是libcurl的python封装。libcurl有一个io复用的接口multi interface,类似于select。
问题就出现在这个接口上,在win32平台检测没任何问题,可是在开发机linux上,代理检测程序在没有崩溃和报错的情况下,在一个点阻塞,基本上就是不动了,我怀疑推断所有句柄阻塞在某个操作。本着外事... -
2009-11-26
八卦
不知是年纪大了,还是早就失去了童心,现在看文字类的东西很少能笑起来,最近小楼同学推荐了一个神人的博客,有食-堂,是我最近看到的最喜欢、最开心的博客,里面的历史八卦正是我喜欢的类型,东北口音、大粗话,如此潇洒、帅气的八卦,看起来灰常的有意思!
-
2009-11-20
python 时间格式转换
rt:
def convertDate(t):
ISOTIMEFORMAT='%Y-%m-%d %X'
timevalue = None
if type(t) == type(''):
ti... -
2009-11-19
bigtable论文再读
俗话说,书读百便,其意自现。这话对于经典的论文实在不假!
学术论文中每字每句都是经过仔细推敲的,有时候确实要经过一个迭代的过程才能更深入、精确的理解。
bigtable是google的基础设施之一,开源社区有基于该论文的实现hyptertable。记得一位高人说过,技术选择是困难的过程,说白了你要权衡各方面的利弊。最近我在折腾和hypertable相关的工作中,经常权衡各种因素,比如:存储空间、效率之类,有时候太过细节,见树木而不见森林。这时候把b... -
2009-11-18
python排序大文件
受到使用Python在2M内存中排序一百万个32位整数的启发,这好最近需要排序大文件,所以按照前面的思路,实现了一个python脚本,用来排序1G大小文件,时间花费989s,瓶颈基本在磁盘IO。看来分布式时必须的,另外,如果采用hadoop和mapreduce,估计更简单些。
文件格式如下:
1258507802895613952 http://00h54.6600.org/aa/a3.htm?hxhx link:in http://yellera... -
2009-11-16
hypertable安装指南
废话不说,hypertable在mandriva下安装过程。基本上就是hypertable readme的过程。只不过在mandriva下面罢了。
一、安装依赖包 1.# urpmi gcc-c++ make cmake libdb4.7-devellibboost-devel liblog4cpp3-devel expat-devel readline-devel libevent-devel autoconf automake li...







