这系列文章首发于crossin.me一个非常适合零基础学python的论坛,强烈推荐。当时还没有建博客。
本人零技术基础,软件只会txt。学python主为兴趣爬虫。开此贴为学习笔记整理,所有操作基于windows,望大大们多多指导
首先,感谢Crossin先生,先生从最基本的如何cd 开始孜孜不倦,给了我很大帮助,要不我估计都坚持不到现在,开此学习贴的想法也是得助于先生的建议。
最后用从先生那里学习到的两句话开始这个帖子吧,一是“功不唐捐”;二是“talk is cheap, show me the code” 共勉~

学习阶段一(update:2014-3-24):
实现功能:读取豆瓣电影爱情标签中的电影名字,电影别名,评分,评价人数,并保存到本地txt中
代码如下:
# -*- coding: cp936 -*-
import urllib2
import re
text=urllib2.urlopen('http://movie.douban.com/tag/%E7%88%B1%E6%83%85').read()#打开爱情标签
text1=re.findall(
r'''"">
.*?
/ .*?.*?|"pl">.*?''',text)#正则查找出相对应字符串,list形式
text2=''.join(text1)#list无法直接replace,需先转为str模式
text3=text2.replace(
'','').replace(
'','').replace(
'"pl">','').replace(
'"">','').replace(
'','').replace(
'"">','').replace(
'\n /',':').replace(' ','')#把多余字符替换掉
w=file('raw_douban_movie.txt','w')
print text3
w.write(text3)
w.close()
执行结果:

学习总结:1、最开始没有用 join转化为str 直接replace,收到报错数据类型后,直接强行str(text1),结果无法replace只能执行首行。
2、replace用的不忍直视,无奈,只会这一招。先生说先实现功能,再想后期优化 :)
原因解析:findall执行的结果是list,replace执行于str类型,得用join转化。