[英]How to remove html tags from text using python?
我是使用 python 的新手,我正在嘗試創建一個簡單的腳本,從 Urban Dictionary 中打印出當天的單詞。
import requests
from bs4 import BeautifulSoup
# requests urban dictionary home page
r = requests.get('https://www.urbandictionary.com')
soup = BeautifulSoup(r.text, 'html.parser')
# finds the title
title = soup.find('title').text
print(title)
# finds the definition
definition = soup.find('meta', attrs={'property': 'og:description'})
print(definition)
我使用“.text”作為標題來擺脫 html 標記並且它可以工作,但是當我嘗試在定義上使用它時,所有文本都消失了。 因此,目前使用 html 標簽打印出定義。 除了“.text”還有什么其他方法可以刪除 html 標簽。 當我嘗試在這里粘貼 output 時,它的一部分沒有顯示出來,所以這里是 output 的圖片。
這是我第一次在這里發帖,所以如果我沒有正確格式化我的問題,我很抱歉,但任何幫助將不勝感激。
...當我嘗試在定義上使用[
text
屬性]時,所有文本都消失了...
這是因為您定位的標簽如下所示:
<meta content="foo bar baz..." name="Description" property="og:description">
當您嘗試在 Beautiful Soup 中訪問此 object 的text
屬性時,沒有任何文本是該元素的子元素。 相反,您正在尋找提取“內容”屬性,您可以使用方括號“數組”樣式表示法:
definition['content']
此功能記錄在 Beautiful Soup 文檔的屬性部分。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.