簡體   English   中英

如何使用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中提取“車輪上的任何車輛”?

有多種方法可以達到所需的元素。

可能最簡單的方法是按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

我通過beautifulsoup解決了這個問題:

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

假設這是給定的唯一HTML代碼,則可以使用NLTK

import nltk 

#load html chunk into variable htmlstring#
extract = nltk.clean_html(htmlstring)
print(extract)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM