如何使用Python从html标签中提取数据?

时间:2015-03-24 17:26:21

标签: python html beautifulsoup

我想提取在线词典中单词的翻译。 例如,'car'的html代码:

<ol class="sense_list level_1">
     <li class="sense_list_item level_1" value="1"><span class="def">any vehicle on wheels</span></li>

如何使用beautifulsoup或任何其他模块在Python中提取“车轮上的任何车辆”?

3 个答案:

答案 0 :(得分:1)

有多种方法可以达到所需的元素。

最简单的可能是class找到它:

soup.find('span', class_='def').text

或使用CSS selector

soup.select('span.def')[0].text

或另外检查父母:

soup.select('ol.level_1 > li.level_1 > span.def')[0].text

或:

soup.select('ol.level_1 > li[value=1] > span.def')[0].text

答案 1 :(得分:1)

我是由beautifulsoup解决的:

soup = bs4.BeautifulSoup(html)
q1=soup.find('li', class_="sense_list_item level_1",value='1').text

答案 2 :(得分:0)

假设这是唯一给出的HTML代码,您可以使用NLTK

import nltk 

#load html chunk into variable htmlstring#
extract = nltk.clean_html(htmlstring)
print(extract)
相关问题