- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这可能是一个非常基本的 Python 问题,尽管我在 Beautiful Soup 中遇到过它。
我想做的基本事情是仅从 HTML 文件中提取输出文本。
例如,在下面包含的 HTML 文件中,我只想提取 0123、abc、def 和 ghi,但不提取标签和属性。
据我所知,BS 我应该能够通过 HTML 标记的后代进行递归,并且仅包含 NavigableStrings 的内容。
问题是我不知道如何编写 if 语句来测试类型。请参阅下面的 python 代码中的注释。
有什么解决办法吗?
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>0123</title>
</head>
<body>
<div>
<p>abc</p>def
<a href="wxy.z">ghi</a>
</div>
</body>
</html>
# -*- coding: UTF-8 -*-
from bs4 import BeautifulSoup
with open('simple.html', 'r') as inf:
soup = BeautifulSoup(inf.read(), 'lxml')
for e in soup('html'):
for d in e.descendants:
print d # HERE I WANT TO SKIP EXCEPT FOR NAVIGABLE STRINGS
最佳答案
由于您正在寻找可导航字符串,因此您的条件应该是:
if isinstance(d, bs4.element.NavigableString):
print d
并且不要忘记在开始时导入 bs4
。
关于python - 如何测试美丽汤对象的类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49105642/
我正在努力学习 Ruby Koans 以尝试学习 Ruby,到目前为止一切顺利。我已经得到了贪婪的公案,在撰写本文时它是 183。我有一个可行的解决方案,但我觉得我只是拼凑了一堆 if/then 逻辑
我正在尝试创建一个扩展 boost 图形库行为的类。我希望我的类是一个模板,用户提供一个类型(类),用于在每个顶点存储属性。那只是背景。我正在努力创建一个更简洁的 typedef 来定义我的新类。 基
我正在使用 suds 包从网站查询 API,从他们的网站返回的数据如下所示: (1)。谁能告诉我这是什么格式? (2)。如果是这样,解析数据的最简单方法是什么?我已经使用 BeautifulSoup
所以我有一个看起来像这样的 html 文档: Speaker Name: Title of Talk | Subtitle | website.com ... [Other Stuff] Poste
我是一名优秀的程序员,十分优秀!