Как получить строку из этого сегмента HTML, используя Python - PullRequest
1 голос
/ 30 августа 2011

Я использую прекрасный каменный суп Питона для извлечения данных из этой веб-страницы .Я использую этот сегмент кода, чтобы получить объект <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)

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

1 Ответ

1 голос
/ 30 августа 2011

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

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