Rather than use a regex, I would start by letting BeautifulSoup parse the html.
Then, you can use the built-in find functions to search for the "abc" and "aom_pb" classes.
import BeautifulSoup
soup = BeautifulSoup.BeautifulSoup(downloaded_str)
key = soup.find('span', {'class': 'abc'}).text
value = soup.find('span', {'class': 'aom_pb'}).text
If the class tag isn't unique, just loop over them until you find the right one:
for li in soup.findAll('li'):
if li.find('span', attrs={'class': 'abc'}, text='Key 1:'):
print li.find('span', {'class': 'aom_pb'}).text
The key point is to let a parser turn this into a tree navigation problem rather than an ill-defined text search problem.
BeautifulSoup is a single, pure python file that is easy to add to your setup. It is a popular choice. More sophisticated alternatives include html5lib and lxml. The standard library includes HTMLParser, but it is somewhat simplistic and doesn't handler ill-formed HTML very well.
The regex approach is a bit fragile, but you could try something like this (depending on how the data is usually laid-out):
>>> s = '''<li><span class="abc">Key 1:</span> <span class="aom_pb">Value 1</span></li>'''
>>> re.search(r'Key 1:.*?(Value .*?)<', s).group(1)
'Value 1'