首页 > 解决方案 > 如何使用 BS4 打印类中的文本?

问题描述

html

<div class="QRiHXd">
    "Some very secret link" <<< This is the content I want to print out / btw is a link
</div>

代码

import requests
import urllib
import bs4

url = 'https://www.reddit.com/' # There is actually another link
url_contents = urllib.request.urlopen(url).read()

soup = bs4.BeautifulSoup(url_contents, "html.parser")
div = soup.find('div', {'class_': 'QRiHXd'})

content = str(div)
print(content)

我需要打印类中的文本,但是当我尝试打印它时它返回:“无”,我不知道为什么。

标签: pythonhtmlpython-3.xbeautifulsoup

解决方案


要从标签中获取文本,您可以使用.text标签

from bs4 import BeautifulSoup

html_doc = """<div class="QRiHXd">Some very secret link</div>"""

soup = BeautifulSoup(html_doc, "html.parser")
div = soup.find('div', {'class': 'QRiHXd'})

print(div.text) # Some very secret link

推荐阅读