为什么BeautifulSoup .children包含无名元素以及预期的标记

伊斯卡·贾拉克(Iskar Jarak)

代码

#!/usr/bin/env python3
from bs4 import BeautifulSoup

test="""<!DOCTYPE html>
<html>
<head>
 <meta content="text/html; charset=UTF-8" http-equiv="Content-Type"/>
 <title>Test</title>
</head>
<body>
<table>
<tbody>
<tr>
 <td>
  <div>
   <b>
    Icon
   </b>
  </div>
 </td>
</tr>
</tbody>
</table>
</body>
</html>"""

soup = BeautifulSoup(test2)
rows = soup.findAll('tr')
for r in rows:
    print(r.name)
    for c in r.children:
        print('>', c.name)

输出

tr
> None
> td
> None

为什么该行的子级列表中没有匿名元素?

这是在Windows 8(带有html.parserPython的内置版本)上在64位运行Python 3.3.1的情况下发生的

零比雷埃夫斯

的元素.children可以是NavigableStrings以及Tag在您的示例中,它们是td元素前后的空白

希望代码上的这种变化可以使您清楚:

>>> rows = soup.findAll('tr')
>>> for r in rows:
...     print("row:", r.name)
...     for c in r.children:
...         print("---")
...         print(type(c))
...         print(repr(c))
... 
row: tr
---
<class 'bs4.element.NavigableString'>
'\n'
---
<class 'bs4.element.Tag'>
<td>
<div>
<b>
    Icon
   </b>
</div>
</td>
---
<class 'bs4.element.NavigableString'>
'\n'

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么Data.Set提供元素以及toList?

来自分类Dev

为什么Data.Set提供元素以及toList?

来自分类Dev

为什么BeautifulSoup不解析页面的所有元素?

来自分类Dev

为什么$ body.children()包含<body> </ body>标记之外的元素?

来自分类Dev

BeautifulSoup类型的nth返回空列表。Soup.select()[n -1]返回元素。为什么?

来自分类Dev

为什么从BeautifulSoup获得的HTML与检查元素时看到的HTML不一样?

来自分类Dev

在Python上使用BeautifulSoup4时,为什么当我尝试打印“ <p>”元素时,结果为'None'?

来自分类Dev

为什么这个BeautifulSoup结果[]?

来自分类Dev

为什么是“amp;” 是否包含在我试图在 phyton 中使用 BeautifulSoup 抓取的链接('a')的许多部分的链接中?删除它的更好方法是什么?

来自分类Dev

为什么HashSet中的元素以随机顺序排列?

来自分类Dev

为什么“ /”包含“ ..”?

来自分类Dev

预期录音中的奇怪输出:如何消除,以及为什么?

来自分类Dev

无名变量声明-为什么起作用?

来自分类Dev

为什么BeautifulSoup有时会使用find_all查找所有元素,而有时却找不到?

来自分类Dev

为什么BeautifulSoup给我错误的文字?

来自分类Dev

为什么Python BeautifulSoup返回空列表?

来自分类Dev

为什么以及如何运作?

来自分类Dev

* .xlsx文件何时以及为什么包含* .bin文件?

来自分类Dev

为什么我的hamcrest“包含”不按预期工作?

来自分类Dev

为什么我的hamcrest“包含”无法按预期工作?

来自分类Dev

为什么以及为什么会使用Boost信号2?

来自分类Dev

为什么以及为什么会使用Boost信号2?

来自分类Dev

为什么显示脚本jollywallet以及为什么将其用于

来自分类Dev

为什么元素没有完全按预期滚动

来自分类Dev

Yocto:为什么包含包装?

来自分类Dev

为什么时区包含位置?

来自分类Dev

为什么XmlReader跳过元素?

来自分类Dev

为什么找不到元素“ a”?

来自分类Dev

为什么渲染树不包含绝对定位的元素?

Related 相关文章

  1. 1

    为什么Data.Set提供元素以及toList?

  2. 2

    为什么Data.Set提供元素以及toList?

  3. 3

    为什么BeautifulSoup不解析页面的所有元素?

  4. 4

    为什么$ body.children()包含<body> </ body>标记之外的元素?

  5. 5

    BeautifulSoup类型的nth返回空列表。Soup.select()[n -1]返回元素。为什么?

  6. 6

    为什么从BeautifulSoup获得的HTML与检查元素时看到的HTML不一样?

  7. 7

    在Python上使用BeautifulSoup4时,为什么当我尝试打印“ <p>”元素时,结果为'None'?

  8. 8

    为什么这个BeautifulSoup结果[]?

  9. 9

    为什么是“amp;” 是否包含在我试图在 phyton 中使用 BeautifulSoup 抓取的链接('a')的许多部分的链接中?删除它的更好方法是什么?

  10. 10

    为什么HashSet中的元素以随机顺序排列?

  11. 11

    为什么“ /”包含“ ..”?

  12. 12

    预期录音中的奇怪输出:如何消除,以及为什么?

  13. 13

    无名变量声明-为什么起作用?

  14. 14

    为什么BeautifulSoup有时会使用find_all查找所有元素,而有时却找不到?

  15. 15

    为什么BeautifulSoup给我错误的文字?

  16. 16

    为什么Python BeautifulSoup返回空列表?

  17. 17

    为什么以及如何运作?

  18. 18

    * .xlsx文件何时以及为什么包含* .bin文件?

  19. 19

    为什么我的hamcrest“包含”不按预期工作?

  20. 20

    为什么我的hamcrest“包含”无法按预期工作?

  21. 21

    为什么以及为什么会使用Boost信号2?

  22. 22

    为什么以及为什么会使用Boost信号2?

  23. 23

    为什么显示脚本jollywallet以及为什么将其用于

  24. 24

    为什么元素没有完全按预期滚动

  25. 25

    Yocto:为什么包含包装?

  26. 26

    为什么时区包含位置?

  27. 27

    为什么XmlReader跳过元素?

  28. 28

    为什么找不到元素“ a”?

  29. 29

    为什么渲染树不包含绝对定位的元素?

热门标签

归档