python學習4:獲取豆瓣上映電影數據

根據標籤獲取豆瓣上映電影名稱、評分、導演、演員

# -*- coding: utf-8 -*-
import urllib
import urllib2
from HTMLParser import HTMLParser

class MovieParser(HTMLParser):
    def __init__(self):
        HTMLParser.__init__(self)
        self.movies = []

    def handle_starttag(self, tag, attrs):
        def _attr(attrlist, attrname):
            for attr in attrlist:
                if attr[0] == attrname:
                    return attr[1]
            return None

        if tag == "li" and _attr(attrs, "data-title"):
            movie = {}
            movie["title"] = _attr(attrs, "data-title")
            movie["score"] = _attr(attrs, "data-rate")
            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 now_palying_movies(url):
    headers = {"User-Agent": "Mozilla/5.0"}
    req = urllib2.Request(url, headers=headers)
    s = urllib2.urlopen(req)
    parser = MovieParser()
    parser.feed(s.read())
    s.close()
    return parser.movies

if __name__ == "__main__":
    url = "https://movie.douban.com/"
    movies = now_palying_movies(url)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章