从网站列表中提取数据,没有多余的标签

时间:2009-12-16 00:18:59

标签: python html beautifulsoup extract

工作代码:Google dictionary lookup via python and beautiful soup - >只需执行并输入一个单词。

我很简单地从特定列表项中提取了第一个定义。但是为了获得普通数据,我必须在换行符处拆分数据,然后将其删除以删除多余的列表标记。

我的问题是,是否有一种方法可以提取特定列表中包含的数据,而无需进行上述字符串操作 - 也许是我还没看到的美丽汤中的功能?

这是代码的相关部分:

# Retrieve HTML and parse with BeautifulSoup.
    doc = userAgentSwitcher().open(queryURL).read()
    soup = BeautifulSoup(doc)

# Extract the first list item -> and encode it.
    definition = soup('li', limit=2)[0].encode('utf-8')

# Format the return as word:definition removing superfluous data.
    print word + " : " + definition.split("<br />")[0].strip("<li>")

1 个答案:

答案 0 :(得分:1)

我认为你正在寻找findAll(text = True)这将从标签中提取文本

definitions = soup('ul')[0].findAll(text=True)

将返回标签边界处断开的所有文本内容的ist