美文网首页
Python豆瓣爬虫学习笔记(三)

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

作者: 瓦力求索 | 来源:发表于2015-03-21 00:18 被阅读92次

学习阶段三(update:2014-3-25):实现功能:抓取所有tag的第一页电影的链接,名字,别名,评分,评价人数。保存到本地txt代码如下:

# -*- coding: cp936 -*-

import urllib2

import re

import time

starttime=time.time()

raw_text=urllib2.urlopen('http://movie.douban.com/tag/?view=type').read()

text0=re.findall('"./.*?"',raw_text)#初步抓取tag,findall输出为list

text1=''.join(text0)#list转str,方便replace

text2=text1.replace('"./','').replace('"','\n')#tag提取完成

text3=[]#新建空list,方便后面append

for text4 in text2.split('\n'):#for in对象需为list,用split将str转为list

tagurl='http://movie.douban.com/tag/%s'%text4#讲URL前缀同tag拼接,方便后期多tag抓取

text3.append(tagurl)#循环赋值到空列表

del text3[-1]#最后一行为空tag,不知道生成原因。手动删除。

text8=[]#新建空list,存储for执行结果

for text5 in text3:

raw_tagurl=urllib2.urlopen(text5).read()#打开所有tag页面

tagurl_text=re.findall('''http://movie.douban.com/subject/\d{1,}/"  class="">

.*?

/ .*?|.*?

.*?''',raw_tagurl)#初步提取电影信息

text6=''.join(tagurl_text)

text7=text6.replace('''

''','\t').replace('''"  class="">

''','\t').replace('','\n').replace('''

/ ''','\t/').replace('\n','\t')#剔除不需要的信息

text8.append(text7)#将for结果赋值到空list

text9=''.join(text8)#转str  write要求

e=file('douban_movie7.txt','w')

e.write(text9)

endtime=time.time()

print '用时%ss'%(starttime-endtime)

e.close()

运行结果:

用时-75.5190000534s学习总结:1、初步接触time,从crossin论坛中

jxgx072037

的豆瓣代码中看到就拿来用了。2、代码还是很初级,只能抓取所有标签的第一页,用时75s,耗时应该有点长。还需实现的功能:抓取每个标签下的多页电影信息,去重,排序。

相关文章

网友评论

      本文标题:Python豆瓣爬虫学习笔记(三)

      本文链接:https://www.haomeiwen.com/subject/rswwxttx.html