python - 使用 BeautifulSoup 从 HTML 中排除几个元素
问题描述
我想在网页中获取一些名称,以便稍后在代码中使用它们。
content = requests.get("http://serpadres.com/bebe/los-200-nombres-latinos-mas-populares-de-los-ultimos-tiempos/52175/").content
soup = BeautifulSoup(content, features="html.parser")
for tag in soup.find_all("br"):
print("{0}: {1}".format(tag.name, tag.text))
我试过这个,它确实打印了所有的名字,但也打印了 br 标签,结果是:
br:
br:
br:
br:
br:
br:
br:
br:
VERY LONG LIST OF NAMES
br:
br:
br:
br:
br:
br:
br:
br:
br:
br:
还有很多很多 br:。如何排除这些并将名称转换为字符串?
解决方案
您可以通过添加以下行来检查它是名称还是空格:
if tag.get_text() != '':
代码将如下所示:
from bs4 import BeautifulSoup
from pip._vendor import requests
mylist = []
content = requests.get("http://serpadres.com/bebe/los-200-nombres-latinos-mas-populares-de-los-ultimos-tiempos/52175/").content
soup = BeautifulSoup(content, features="html.parser")
for tag in soup.find_all('br'):
if tag.get_text() != '':
print(tag.get_text())
推荐阅读
- ios - 从 appdelegate 访问 Tabbar 视图控制器的子控制器
- webpack - 带有 AOT 预渲染的 webpack --config --env.prod 出错
- corda - 在网络中部署默认公证节点的正确配置是什么?
- visual-studio - 在 System.History 中提及用户
- django - 如何从 Django 中的views.py 调用基于类的模板标签?
- react-native - 将 redux 与 aws-appsync 集成
- c++ - 如何在github中组织C++依赖项目?
- java - 如何将签名表单添加到现有的 pdf(使用 iText7),以便输出文件可以作为 pdf 的输入(顺序签名)?
- java - Android 无法从 Firebase Datasnapshot 返回值
- sql - Oracle SQL - 仅在 = X 时返回值