繁体   English   中英

Python BeautifulSoup:遍历表

[英]Python BeautifulSoup: Iterating over a table

我想遍历每个TR标签的每个TD。 因此,例如,如果我得到所有表:

trList = tbody.findAll('tr')

稍后,我想分别获取每个TR元素的所有TD标签。

就像是:

trList[0]:
  td[0]
  td[1] # I wanted to get this TD of every TR
  td[2]

trList[1]:
  td[0]
  td[1] # this one as well
  td[2]

在正常情况下,我会使用嵌套循环来获取它。

有可能这样做吗?

nth-of-type CSS selector将在此处提供帮助:

from bs4 import BeautifulSoup


data = """
<table>
    <tr>
        <td>1</td>
        <td>2</td>
        <td>3</td>
    </tr>

    <tr>
        <td>4</td>
        <td>5</td>
        <td>6</td>
    </tr>

    <tr>
        <td>7</td>
        <td>8</td>
        <td>9</td>
    </tr>
</table>
"""


soup = BeautifulSoup(data)
for td in soup.select('table > tr > td:nth-of-type(2)'):
    print td.text

印刷品:

2
5
8

是的,您可以使用相同的功能findAll

trList = tbody.findAll('tr')
for tr in trList:
    tdList = tr.findAll('td')
    for td in tdList:
        // here you got each td

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM