這系列文章首發(fā)于crossin.me一個(gè)非常適合零基礎(chǔ)學(xué)python的論壇,強(qiáng)烈推薦。當(dāng)時(shí)還沒有建博客。
本人零技術(shù)基礎(chǔ),軟件只會(huì)txt。學(xué)python主為興趣爬蟲。開此貼為學(xué)習(xí)筆記整理,所有操作基于windows,望大大們多多指導(dǎo)
首先,感謝Crossin先生,先生從最基本的如何cd 開始孜孜不倦,給了我很大幫助,要不我估計(jì)都堅(jiān)持不到現(xiàn)在,開此學(xué)習(xí)貼的想法也是得助于先生的建議。
最后用從先生那里學(xué)習(xí)到的兩句話開始這個(gè)帖子吧,一是“功不唐捐”;二是“talk is cheap, show me the code” 共勉~
學(xué)習(xí)階段一(update:2014-3-24):
實(shí)現(xiàn)功能:讀取豆瓣電影愛情標(biāo)簽中的電影名字,電影別名,評(píng)分,評(píng)價(jià)人數(shù),并保存到本地txt中
代碼如下:
# -*- coding: cp936 -*-
import urllib2
import re
text=urllib2.urlopen('http://movie.douban.com/tag/%E7%88%B1%E6%83%85').read()#打開愛情標(biāo)簽
text1=re.findall(
r'''"">
.*?
/ .*?.*?|"pl">.*?''',text)#正則查找出相對(duì)應(yīng)字符串,list形式
text2=''.join(text1)#list無(wú)法直接replace,需先轉(zhuǎn)為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()
執(zhí)行結(jié)果:
學(xué)習(xí)總結(jié):1、最開始沒有用 join轉(zhuǎn)化為str 直接replace,收到報(bào)錯(cuò)數(shù)據(jù)類型后,直接強(qiáng)行str(text1),結(jié)果無(wú)法replace只能執(zhí)行首行。
2、replace用的不忍直視,無(wú)奈,只會(huì)這一招。先生說(shuō)先實(shí)現(xiàn)功能,再想后期優(yōu)化 :)
原因解析:findall執(zhí)行的結(jié)果是list,replace執(zhí)行于str類型,得用join轉(zhuǎn)化。