如何使用Python从html标记中提取数据?
我想从在线词典中提取一个单词的翻译。 例如,“car”的html代码:如何使用Python从html标记中提取数据?,python,html,beautifulsoup,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> 任何车轮上的车辆 如何在Python中提取“车轮上的任何车辆”或任何其他模块?有多种方法可以
<ol class="sense_list level_1">
<li class="sense_list_item level_1" value="1"><span class="def">any vehicle on wheels</span></li>
任何车轮上的车辆
如何在Python中提取“车轮上的任何车辆”或任何其他模块?有多种方法可以达到所需的元素 最简单的方法可能是通过
类找到它:
soup.find('span', class_='def').text
或者,使用CSS选择器
:
soup.select('span.def')[0].text
或者,另外检查家长:
soup.select('ol.level_1 > li.level_1 > span.def')[0].text
或:
假设这是给出的唯一HTML代码,您可以使用
我通过beautifulsoup解决它:
soup = bs4.BeautifulSoup(html)
q1=soup.find('li', class_="sense_list_item level_1",value='1').text
谢谢你的回答。但该html代码还有其他类似于上行的行,只有一个区别:value=“1”。对于每一行,值都会发生变化。“如何使用value=“1”提取行似乎与我已修改答案以包含开始标记和属性的答案重复。@SaraSantana更新了答案-最后一个选项检查值
属性值。
import nltk
#load html chunk into variable htmlstring#
extract = nltk.clean_html(htmlstring)
print(extract)
soup = bs4.BeautifulSoup(html)
q1=soup.find('li', class_="sense_list_item level_1",value='1').text