12 2012 档案
网页抓取中的debug 问题记录
摘要:今天做case分析,发现一个抓取失败的case,失败为抓取中错误。使用wget 测试,发现经常出现connection reset by peer。经过多次尝试,发现偶有成功案例。后来使用curl测试了一下,发现是ok的。和wget的测试几乎倒转。(几乎全是成功,偶有失败,但是很少了)查了下资料,对了wget和curl, 发现最大的区别是wget仅支持http 1.0,而curl默认支持的为http1.1。而查询资料,http 1.0和http1.1比较明显的区别是对长连接的支持和chunked的支持。基于此,查看curl使用说明,使用curl -0 使用http1.0测试,发现失败又是很多。 阅读全文
posted @ 2012-12-25 21:28 @且听风吟@ 阅读(191) 评论(0) 推荐(0)
【转载】Linux下显示IP地理位置信息的小工具-nali
摘要:[源自]http://www.cnblogs.com/mchina/archive/2012/12/24/2831220.html一、简介 nali,名字取自中文“哪里”的拼音。nali包含一组命令行程序,其主要功能就是把一些网络工具的输出的IP字符串,附加上地理位置信息(使用纯真数据库QQWry.Dat)。例如74.125.128.104会变成74.125.128.104[美国 加利福尼亚州山景市谷歌公司]。查询是在本地进行,并不会进行联网查询,所以效率方面不会对原始命令产生什么影响。 目前包含以下几个命令:nalinali-dignali-nslookupnali-traceroute.. 阅读全文
posted @ 2012-12-24 17:30 @且听风吟@ 阅读(257) 评论(0) 推荐(0)
split 使用
摘要:split是用来切分文本文件很好用的一个命令linux下通过split --help 可以查看到split的用法split --help用法:split [选项]... [输入 [前缀]]将输入内容拆分为固定大小的分片并输出到"前缀aa"、"前缀ab",...;默认以 1000 行为拆分单位,默认前缀为"x"。如果不指定文件,或者文件为"-",则从标准输入读取数据。长选项必须使用的参数对于短选项时也是必需使用的。 -a, --suffix-length=N 指定后缀长度为N (默认为2) -b, --bytes=大 阅读全文
posted @ 2012-12-24 17:22 @且听风吟@ 阅读(241) 评论(0) 推荐(0)
[转载] python异常如何全面捕获
摘要:如果你在写程序时遇到异常后想进行如下处理的话请参考我下面写的对异常处理的方法:假设有下面的一段程序:try: 语句1 语句2 . 语句Nexcept .........: print ....... 但是你并不知道“语句1至语句N”在执行会出什么样的异常,但你还要做异常处理,且想把出现的异常打印出来,并不停止程序的运行,所以在“except ......”这句应怎样来写呢?至少3个方法:方法一:捕获所有异常[python]view plaincopyprint?try:a=bb=cexceptException,ex:printException,":",ex方法二:采用t 阅读全文
posted @ 2012-12-20 16:06 @且听风吟@ 阅读(243) 评论(0) 推荐(0)
[转载]python编码转换遇到的非法字符的解决方法
摘要:UnicodeDecodeError: ‘gbk’ codec can’t decode bytes in position 30664-30665: illegal multibyte sequence这是因为遇到了非法字符——尤其是在某些用C/C++编写的程序中,全角空格往往有多种不同的实现方式,比如\xa3\xa0,或者\xa4 \x57,这 些字符,看起来都是全角空格,但它们并不是“合法”的全角空格(真正的全角空格是\xa1\xa1),因此在转码的过程中出现了异常。这样的问题很让人头疼,因为只要字符串中出现了一个非法字符,整个字符串——有时候,就是整篇文章——就都无法转码。幸运的是,t 阅读全文
posted @ 2012-12-20 16:02 @且听风吟@ 阅读(557) 评论(0) 推荐(0)
python 操作mysql 数据库
摘要:#!/usr/bin/env python #coding=utf-8import MySQLdb,sysconn=MySQLdb.connect(host=ip,user='username',passwd='passwd')cursor=conn.cursor();conn.select_db(‘dbname')cursor.execute(sql_sentence)result=cursor.fetchone()count = result[0] 阅读全文
posted @ 2012-12-19 20:04 @且听风吟@ 阅读(176) 评论(0) 推荐(0)
python获取shell的输出和错误状态 (commands)
摘要:如下是一个获取机器eth0 网卡ip的使用示例。cmd='''ifconfig eth0|grep "inet "|awk '{print $2}'|awk -F":" '{print $2}' '''ret,ip = commands.getstatusoutput(cmd)#print ip, retif ret != 0 : print "get ip failed"; sys.exit(2) 阅读全文
posted @ 2012-12-10 16:57 @且听风吟@ 阅读(610) 评论(0) 推荐(0)