Python豆瓣爬虫学习笔记(一)

这系列文章首发于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转化。

你可能感兴趣的:(Python豆瓣爬虫学习笔记(一))