python - BeautifulSoup:如何解析表中未标识的 TD 列表

标签 python html-table beautifulsoup

使用 bs4,我可以使用 soup.find_all() 查找表中的每个 s。 HTML 如下。

但是,如何有效地访问每个中的特定列?假设我只想要第一、第三和第五列。

换句话说,有没有办法实现类似于“date = row.td[1]”或“price_low = row.td[3]”等的内容?

谢谢。

<tr class="cmc-table-row" style="display:table-row">
    <td class="cmc-table__cell cmc-table__cell--sticky cmc-table__cell--left">
        <div class="">Dec 23, 2019</div>
    </td>
    <td class="cmc-table__cell cmc-table__cell--right">
        <div class="">7,508.90</div>
    </td>
    <td class="cmc-table__cell cmc-table__cell--right">
        <div class="">7,656.18</div>
    </td>
    <td class="cmc-table__cell cmc-table__cell--right">
        <div class="">7,326.19</div>
    </td>
    <td class="cmc-table__cell cmc-table__cell--right">
        <div class="">7,355.63</div>
    </td>
    <td class="cmc-table__cell cmc-table__cell--right">
        <div class="">27,831,788,041</div>
    </td>
    <td class="cmc-table__cell cmc-table__cell--right">
        <div class="">133,275,709,111</div>
    </td>
</tr>

最佳答案

from bs4 import BeautifulSoup

html = """<tr class="cmc-table-row" style="display:table-row">
    <td class="cmc-table__cell cmc-table__cell--sticky cmc-table__cell--left">
        <div class="">Dec 23, 2019</div>
    </td>
    <td class="cmc-table__cell cmc-table__cell--right">
        <div class="">7,508.90</div>
    </td>
    <td class="cmc-table__cell cmc-table__cell--right">
        <div class="">7,656.18</div>
    </td>
    <td class="cmc-table__cell cmc-table__cell--right">
        <div class="">7,326.19</div>
    </td>
    <td class="cmc-table__cell cmc-table__cell--right">
        <div class="">7,355.63</div>
    </td>
    <td class="cmc-table__cell cmc-table__cell--right">
        <div class="">27,831,788,041</div>
    </td>
    <td class="cmc-table__cell cmc-table__cell--right">
        <div class="">133,275,709,111</div>
    </td>
</tr>
"""

soup = BeautifulSoup(html, 'html.parser')

for item in soup.findAll("div", {'class': ''})[0:5:2]:
    print(item.text)

输出:

Dec 23, 2019
7,656.18
7,355.63

关于python - BeautifulSoup:如何解析表中未标识的 TD 列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59464768/

相关文章:

python - 为什么 Odoo 删除日期时间字段中的毫秒数?

python - 每 X 秒作为用户输入运行 python 脚本

php - 在一个单元格中显示多条记录

php - 在 HTML 表中包含 if 语句

javascript - dryscrape 和 BeautifulSoup 获取 js 渲染的 iframe 中的所有行

python - 如何使用 bs4 或 lxml 在 Python 中找到 XML 标记的文本行?

python - SQLAlchemy 自省(introspection)

python - 防止脚本滥用 Web 应用程序的最简单方法?

html - 如何控制 Firefox 中表格单元格的溢出?

python - 如何阻止 BeautifulSoup 转义内联 javascript