工作代码: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>")
答案 0 :(得分:1)
我认为你正在寻找findAll(text = True)这将从标签中提取文本
definitions = soup('ul')[0].findAll(text=True)
将返回标签边界处断开的所有文本内容的ist