簡體   English   中英

如何使用 python 從文本中刪除 html 標簽?

[英]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.

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