Как получить строку из этого сегмента HTML, используя Python

1

Я использую красивый каменный суп python для извлечения данных с этой веб-страницы. Я использую этот сегмент кода для получения объекта <li>:

    req = urllib2.Request(url)
    req.add_header('User-Agent', 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.0.3) Gecko/200809241\
7 Firefox/3.0.3')

    response=urllib2.urlopen(req)
    link=response.read()
    response.close()

    soup = BeautifulStoneSoup(link, convertEntities=BeautifulStoneSoup.XML_ENTITIES)
    p = soup.find('ul',{"class":"vod_ordering"})

    j = 0
    while j < len(p('li')):
        li= p('li')[j]
        j = j+1

И теперь я хочу разбить объект <li> на части. У меня нет проблемы (я знаю), чтобы получить значок, ссылку и заголовок, но я не могу получить описание, которое находится между </strong> и </img> и не относится к какому-либо тегу, кроме <li>.

Я пытался использовать содержимое, но получаю сообщение об ошибке:

Error Contents: sequence item 1: expected string or Unicode, Tag found

Когда я пытаюсь это сделать:

print ''.join(li.contents)

Как я могу получить эту строку?

Теги:
html-parsing

1 ответ

1
Лучший ответ

я бы попробовал

print ''.join(map(str, li.contents))

Ещё вопросы

Сообщество Overcoder
Наверх
Меню