如何使用 Python 从 html 标签中提取数据?
How can I extract data from a html tag using Python?
我想提取在线词典中单词的翻译。
例如,'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 中提取 "any vehicle on wheels"?
有多种方法可以到达所需的元素。
可能最简单的方法是通过 class
:
找到它
soup.find('span', class_='def').text
或者 CSS selector
:
soup.select('span.def')[0].text
或者,另外检查 parents:
soup.select('ol.level_1 > li.level_1 > span.def')[0].text
或:
soup.select('ol.level_1 > li[value=1] > span.def')[0].text
假设这是唯一给出的 HTML 代码,您可以使用 NLTK.
import nltk
#load html chunk into variable htmlstring#
extract = nltk.clean_html(htmlstring)
print(extract)
我通过beautifulsoup解决了:
soup = bs4.BeautifulSoup(html)
q1=soup.find('li', class_="sense_list_item level_1",value='1').text
我想提取在线词典中单词的翻译。 例如,'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 中提取 "any vehicle on wheels"?
有多种方法可以到达所需的元素。
可能最简单的方法是通过 class
:
soup.find('span', class_='def').text
或者 CSS selector
:
soup.select('span.def')[0].text
或者,另外检查 parents:
soup.select('ol.level_1 > li.level_1 > span.def')[0].text
或:
soup.select('ol.level_1 > li[value=1] > span.def')[0].text
假设这是唯一给出的 HTML 代码,您可以使用 NLTK.
import nltk
#load html chunk into variable htmlstring#
extract = nltk.clean_html(htmlstring)
print(extract)
我通过beautifulsoup解决了:
soup = bs4.BeautifulSoup(html)
q1=soup.find('li', class_="sense_list_item level_1",value='1').text