python - 从标签中获取数据(BeautifulSoup)

标签 python beautifulsoup

简要说明:我有一个脚本,它循环访问页面的元素,然后返回数据。但我希望它返回的数据不在元素中,而是按顺序返回。

import argparse, os, socket, urllib2, re
from bs4 import BeautifulSoup
pge = urllib2.urlopen("").read()
src = BeautifulSoup(pge)
body = src.findAll('body')
el = body[0].findChildren()
for s in el:
    cname = s.get('class')
    if cname[0] == "work":
        print s.text

HTML:

<body>
    <div class="work">1</div>
    <span class="nope">tosee</span>
    <span class="work">2</span>
    <span class="work">3</span>
    4
    <span class="work">5</span>
    <span class="no">nothing</span>
</body>

它打印 1235 并错过了 4,但我希望它打印 12345

最佳答案

简单地说:

print soup.find('body').text

关于python - 从标签中获取数据(BeautifulSoup),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21248554/

相关文章:

python - 如何在 C++ 中使用 ZeroMQ 传送多个图像?

python - 如何理解位数组中哪些位设置为 1

python - beautifulsoup 检索日期

python - 如何使用 bs4 抓取下一个标签

python - Mysql中的计算

python - 在 Snow Leopard 上安装 PIL——没有任何效果

python - 使用返回值作为变量而不调用整个函数

python beautifullsoup websocket

Python:解析类不打印任何内容?

python - 如何使用 SEC 网站的 BeautifulSoup 的 getText() 方法忽略 HTML 中嵌入的 jpeg 图像数据