rendered paste bodyimport 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'<b>(.*?/.*?)</b>(.*)')runtimeReg = re.compile(r'(.*? min).*')castReg = re.compile(r'.*?Cast overview.*?(<tr>.*)')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) #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]): self.rating = ratingReg.search(page[i]).group(1).strip() if runtimeReg.match(page[i]): self.runtime = runtimeReg.search(page[i]).group(1).strip() if castReg.match(page[i]): in_cast = re.compile(r'.*?<a href="/name.*?>(.*?)<.*?top">(.*?)</td>') self.cast = {} l = castReg.search(page[i]).group(1).split('</tr><tr>') for j in l: r = in_cast.search(j) if r != None: self.cast[r.group(1).strip()] = r.group(2).strip() 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 #sock = urllib.urlopen(url+'plotsummary') sock = open('C:\\Documents and Settings\\No1\\Desktop\\plotsummary.htm') page = sock.readlines() sock.close() for i in page: match = details.search(i) if match != None: self.details = match.group(1).strip() breakflick = IMDb("C:\\Documents and Settings\\No1\\Desktop\\TheRoyalTenenbaums.htm")#flick = IMDb("http://www.imdb.com/title/tt0265666/")print flick.titleprint flick.directorsprint flick.writersprint flick.genresprint flick.detailsprint flick.yearprint flick.taglineprint flick.plotprint flick.ratingprint flick.runtimeprint flick.castprint flick.countryprint flick.language