美文网首页
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