爬虫(一)

提供链接爬虫2(欢迎查看)
豆瓣热映电影信息
电影列表在li里边,爬取li里边的数据就可以

# coding=utf-8

import urllib2
from HTMLParser import HTMLParser

'''编写解析器'''
class MovieParser(HTMLParser):
    def __init__(self):
        HTMLParser.__init__(self)
        self.movies=[]
    #handle_starttag函数解析HTML的开始标签, tag为标签名称, attrs属性列表
    def handle_starttag(self, tag, attrs):

        def _attr(attrlist, attrname):
            for attr in attrlist:
                if attr[0] == attrname:
                    return attr[1]
            return None
        #电影列表在li下,当前电影为正在热映
        if tag == 'li' and _attr(attrs, 'data-title') and _attr(attrs, 'data-category') == 'nowplaying':
            movie = {}
            movie['title'] = _attr(attrs, 'data-title')
            movie['score'] = _attr(attrs, 'data-score')
            movie['director'] = _attr(attrs, 'data-director')
            movie['actors'] = _attr(attrs, 'data-actors')
            self.movies.append(movie)
            print '%(title)s, %(score)s, %(director)s, %(actors)s'%movie



def nowPlayMovies(url):
    s = urllib2.urlopen(url)
    #建立解析器的一个对象
    parser = MovieParser()
    #向解析器中加数据
    parser.feed(s.read())
    s.close()
    return parser.movies;

if __name__ == '__main__':
    url = 'https://movie.douban.com/cinema/nowplaying/beijing/'
    movie = nowPlayMovies(url)

运行结果:

敦刻尔克, 8.6, 克里斯托弗·诺兰, 菲恩·怀特海德 / 汤姆·格林-卡尼 / 杰克·劳登
蜘蛛侠:英雄归来, 7.7, 乔·沃茨, 汤姆·霍兰德 / 小罗伯特·唐尼 / 玛丽莎·托梅
银魂, 7.5, 福田雄一, 小栗旬 / 菅田将晖 / 桥本环奈
战狼2, 7.4, 吴京, 吴京 / 弗兰克·格里罗 / 吴刚
星际特工:千星之城, 7.1, 吕克·贝松, 戴恩·德哈恩 / 卡拉·迪瓦伊 / 克里夫·欧文
赛车总动员3:极速挑战, 7.2, 布莱恩·菲, 欧文·威尔逊 / 克里斯黛拉·阿朗索 / 克里斯·库珀
黑白迷宫, 5.1, 阚家伟, 任达华 / 陈小春 / 伍允龙
杀破狼·贪狼, 7.4, 叶伟信, 古天乐 / 吴樾 / 托尼·贾
声之形, 7.4, 山田尚子, 入野自由 / 早见沙织 / 松冈茉优
极盗车神, 7.2, 埃德加·赖特, 安塞尔·艾尔高特 / 凯文·史派西 / 杰米·福克斯
地球:神奇的一天, 8.2, 理查德·戴尔 彼得·韦柏  范立欣, 成龙 / 罗伯特·雷德福
十万个冷笑话2, 7.7, 卢恒宇 李姝洁, 山新 / 郝祥海 / 李姝洁
海边的曼彻斯特, 8.6, 肯尼思·洛纳根, 卡西·阿弗莱克 / 卢卡斯·赫奇斯 / 米歇尔·威廉姆斯
二次初恋, 4.6, 戴玮, 朱茵 / 杜天皓 / 黄征
二十二, 8.8, 郭柯, 
心理罪, 5.4, 谢东燊, 廖凡 / 李易峰 / 万茜
建军大业, 0, 刘伟强, 刘烨 / 朱亚文 / 黄志忠
失业生, 7.4, 霍耀良, 张国荣 / 陈百强 / 徐杰
怪物岛, 0, 里昂珀多·阿格拉, 菲奥娜·哈丁汉姆 / 罗格·杰克逊 / 詹妮弗·贝丝·卡普兰
赛尔号大电影6:圣者无敌, 4.8, 王章俊, 罗玉婷 / 翟巍 / 王晓彤
鲛珠传, 4.8, 杨磊, 王大陆 / 张天爱 / 任达华
大耳朵图图之美食狂想曲, 5.6, 速达, 潘延 / 范楚绒 / 胡谦
侠盗联盟, 5.7, 冯德伦, 刘德华 / 舒淇 / 张静初
蜜月计划, 0, 颢然, 孙坚 / 陈燃 / 汪洋
三生三世十里桃花, 4.1, 赵小丁 安东尼·拉默里纳拉, 刘亦菲 / 杨洋 / 罗晋
破·局, 6.8, 连奕琦, 郭富城 / 王千源 / 刘涛
神偷奶爸3, 7.0, 凯尔·巴尔达 皮埃尔·科凡 埃里克·吉伦, 史蒂夫·卡瑞尔 / 克里斯汀·韦格 / 崔·帕克
诡域新娘, 0, 李斌, 陈圆 / 奇凌 / 郑文杰
闪光少女, 7.5, 王冉, 徐璐 / 彭昱畅 / 刘泳希
摇摇晃晃的人间, 8.2, 范俭, 余秀华 / 周金香 / 余文海
恐怖毕业照2, 0, 陆诗雨, 陈圆 / 刘俐儿 / 宋伟
冈仁波齐, 7.7, 张杨, 尼玛扎堆 / 杨培 / 索朗卓嘎
刀剑神域:序列之争, 7.4, 伊藤智彦, 松冈祯丞 / 户松遥 / 伊藤加奈惠
天梯:蔡国强的艺术, 8.6, 凯文·麦克唐纳, 蔡国强 / 蔡文悠 / 蔡文浩
萧何月下追韩信(京剧), 7.3, 朱伟刚 李春城 齐宝玉, 陈少云 / 傅希如 / 何澍
悟空传, 5.2, 郭子健, 彭于晏 / 倪妮 / 余文乐
血战湘江, 3.7, 陈力, 王霙 / 徐箭 / 董勇
绣春刀II:修罗战场, 7.5, 路阳, 张震 / 杨幂 / 张译
龙之战, 6.7, 高峰, 刘佩琦 / 曹云金 / 罗昱焜
霸王别姬(京剧), 9.0, 滕俊杰, 尚长荣 / 史依弘 / 杨东虎

你可能感兴趣的:(爬虫)