首页 > 代码库 > PYTHON学习札记(四)【转】

PYTHON学习札记(四)【转】

1.Python抓取页面中超链接(URL)的三中方法比较(HTMLParser、pyquery、正则表达式)

2.Python提供了原始字符串,顾名思义,就是保留原始字符的意思,不对反斜杠及反斜杠后面的字符进行转义,声明原始字符串的方法是在字符串前面加上’r‘或者’R‘。
3.findall里面可以直接使用正则,不考虑转义?
4.re.X re.I
5.?i ?:—>匹配大小写
6.Python中最常用的从键盘获取输入的函数是raw_input()和input()。最好使用前者,统一以字符串形式返回。
7.print打印输出可以’前面加编码
8.urlopen后只能进行一次read,第二次为str类型,open选项加上timeout
9.except错误类型最好统一Exception,以免意外错误。
10.Python 报错’ascii’ codec can’t decode byte 0xe5 in position 0: ordinal not in range(128),尝试decode,如不能写入尝试encode成byte流。
11.Python抓取页面中超链接(URL)的3中方法比较(HTMLParser、pyquery、正则表达式)==>http://www.myexception.cn/HTML-CSS/639814.html
12.python判断是否为空可用if xx is None或者if not xx,后者应用相对更广且效果更佳。
13.按行读取url读取去掉\n
 
for line in file.readlines():
    line=line.strip(‘\n‘)
14.对于urlsplit、urlparse、urlunparse的详细介绍:
 
http://www.cnblogs.com/huangcong/archive/2011/08/31/2160633.html
 
http://hi.baidu.com/springemp/item/64613c7457731517d0dcb3a7
 
15.获取网页状态码,需要requests模块http://www.oschina.net/code/snippet_862981_23032
16.local variable ‘xx’ referenced before assignment 需要全局
17.对于url不变,内容跳转的,也就是那种防扫描的,可以用urllib直接open,catch报错即可。
ex:http://segmentfault.com/q/1010000000095769 Nginx配置
18.urllib2.geturl() 可以拿到跳转后的最终页面,302?
19.如何获取网页状态码:
f=urllib.urlopen("xxxxxx")print f.getcode()==========================import requestsdef getStatusCode(url):r = requests.get(url, allow_redirects = False)return r.status_code #使用的requests库在2.7或者2.6好像是没有的===========================conn = httplib.HTTPConnection("192.168.1.212");     #开始进行数据提交   同时也可以使用get进行     conn.request(method="POST",url="/newsadd.asp?action=newnew",body=params,headers=headers);     #返回处理后的数据     response = conn.getresponse();     #判断是否提交成功     if response.status == 302:
20.httplib request的用法, getresponse() 用以进行返回数据
21.get_header探测远程文件是否存在可能需要细看是否取空

PYTHON学习札记(四)【转】