wzorzec wyrażenia regularnego w pythonie do analizowania znaczników tytułu HTML

Uczę się używać obure moduł iurllib moduł w Pythonie i próba napisania prostego skrobaka WWW. Oto kod, który napisałem, aby zeskanować tylko tytuł stron internetowych:

#!/usr/bin/python

import urllib
import re

urls=["http://google.com","https://facebook.com","http://reddit.com"]

i=0

these_regex="<title>(.+?)</title>"
pattern=re.compile(these_regex)

while(i<len(urls)):
        htmlfile=urllib.urlopen(urls[i])
        htmltext=htmlfile.read()
        titles=re.findall(pattern,htmltext)
        print titles
        i+=1

Daje to poprawne wyjście dla Google i Reddit, ale nie dla Facebooka - tak:

['Google']
[]
['reddit: the front page of the internet']

To dlatego, że znalazłem, że na stronie Facebookatitle tag jest następujący:<title id="pageTitle">. Aby pomieścić dodatkoweid=, Zmodyfikowałemthese_regex zmienna w następujący sposób:these_regex="<title.+?>(.+?)</title>". Ale daje to następujące dane wyjściowe:

[]
['Welcome to Facebook \xe2\x80\x94 Log in, sign up or learn more']
[]

W jaki sposób mógłbym połączyć oba, aby móc uwzględnić dodatkowe parametry przekazane w ramachtitle etykietka?

questionAnswers(3)

yourAnswerToTheQuestion