根據標籤獲取豆瓣上映電影名稱、評分、導演、演員
# -*- 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)