All pastes #85894 Raw Edit

Something

public python v1 · immutable
·published 2006-07-12 07:57 UTC
rendered paste body
import os,sys,re,urllibtitleReg       = re.compile(r'<title>(.*)<.*?')directorsReg   = re.compile(r'.*?Directed by.*')writersReg     = re.compile(r'.*?Writing credits.*')genresReg      = re.compile(r'.*?Genre:.*')yearReg        = re.compile(r'<a href="/Sections/Years/.*">(.*?)</a>')taglineReg     = re.compile(r'.*?Tagline:</b>(.*?)<a href.*')plotReg        = re.compile(r'.*?Plot Outline:</b>(.*?)<a href.*')ratingReg      = re.compile(r'.*?User Rating.*')#ratingReg      = re.compile(r'<b>(.*?/.*?)</b>(.*)')runtimeReg     = re.compile(r'.*?Runtime.*')#runtimeReg     = re.compile(r'(.*? min).*')castReg        = re.compile(r'.*?Cast overview.*')countryReg     = re.compile(r'.*?Country:.*')languageReg    = re.compile(r'.*?Language:.*')details        = re.compile(r'<p class="plotpar">(.*?)</p>')class IMDb:   def __init__(self,url):      self.title     = None      self.directors = None      self.writers   = None      self.genres    = None      self.details   = None      self.year      = None      self.tagline   = None      self.plot      = None      self.rating    = None      self.runtime   = None      self.cast      = None      self.country   = None      self.language  = None      #sock = open(url,'rb')      sock = urllib.urlopen(url)      page = sock.readlines()      sock.close()      i = 0      while i < len(page):         if titleReg.match(page[i]):            self.title = titleReg.search(page[i]).group(1).strip()         if directorsReg.match(page[i]):            in_directors = re.compile(r'.*?">(.*?)</.*?')            i += 1            self.directors = in_directors.findall(page[i])         if writersReg.match(page[i]):            in_writers = re.compile(r'<a href="/name/.*?>(.*?)<')            i += 3            if in_writers.search(page[i]) != None:               self.writers = in_writers.findall(page[i])         if genresReg.match(page[i]):            in_genres = re.compile(r'<a href="/Sections/Genres/.*?>(.*?)<')            i += 1            self.genres = in_genres.findall(page[i])         if yearReg.match(page[i]):            self.year = yearReg.search(page[i]).group(1).strip()         if taglineReg.match(page[i]):            self.tagline = taglineReg.search(page[i]).group(1).strip()         if plotReg.match(page[i]):            self.plot = plotReg.search(page[i]).group(1).strip()         if ratingReg.match(page[i]):            in_rating = re.compile(r'<b>(.*?)</b> (.*)')            i += 4            rating_all = in_rating.findall(page[i])            for rate in rating_all:                rated = '%s %s' % (rate[0],rate[1])                self.rating = rated            # self.rating = ratingReg.search(page[i]).group(1).strip()         if runtimeReg.match(page[i]):            in_runtime = re.compile(r'(.*)\n')            i += 1            self.runtime = in_runtime.findall(page[i])            # self.runtime = runtimeReg.search(page[i]).group(1).strip()         if castReg.match(page[i]):            in_actor = re.compile(r'.*?<a href="/name.*?>(.*?)<.*?top">.*?</td>')            in_char = re.compile(r'.*?<a href="/name.*?>.*?<.*?top">(.*?)</td>')            actor = in_actor.findall(page[i])            char = in_char.findall(page[i])            self.Cast = dict(zip(('actor','character'),(actor,char)))            for i in range(len(self.Cast['actor'])):                self.cast = '%s as %s' % (self.Cast['actor'][i],self.Cast['character'][i])         if countryReg.match(page[i]):            in_country = re.compile(r'<a href=.*?>(.*?)</a>')            i += 1            self.country = in_country.findall(page[i])         if languageReg.match(page[i]):            in_language = re.compile(r'<a href=.*?>(.*?)</a>')            i += 1            self.language = in_language.findall(page[i])         i+=1      try:          sock = urllib.urlopen(url+'plotsummary')          #sock = open('C:\\Documents and Settings\\No1\\Desktop\\plotsummary1.htm','rb')          page = sock.readlines()          sock.close()      except:          pass      for i in page:         match = details.search(i)         if match != None:            self.details = match.group(1).strip()            break#flick = IMDb("C:\\Documents and Settings\\No1\\Desktop\\Rt.htm")flick = IMDb("http://www.imdb.com/title/tt0265666/")Title = flick.titleDirectors = flick.directorsWriters = flick.writersGenres = flick.genresDetails = flick.detailsYear = flick.yearTagline = flick.taglinePlot = flick.plotRating = flick.ratingRuntime = flick.runtimeCast = flick.castCountry = flick.countryLanguage = flick.languageprint "Title:\n" + str(Title)print "Director:\n" + str(Directors)print "Writers:\n" + str(Writers)print "Genres:\n" + str(Genres)print "Details:\n" + str(Details)print "Year:\n" + str(Year)print "Tagline:\n" + str(Tagline)print "Plot:\n" + str(Plot)print "Rating:\n" + str(Rating)print "Runtime:\n" + str(Runtime)print "Cast:\n" + str(Cast)print "Country:\n" + str(Country)print "Language:\n" + str(Language)