如何使用python从这个html片段中获取字符串

时间:2011-08-30 11:42:42

标签: python html-parsing

我正在使用python的美丽石头汤从this web page中提取数据。我正在使用此代码段来获取<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 个答案:

答案 0 :(得分:1)

我会尝试

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