【问题标题】:BeautifulSoup select element from htmlBeautifulSoup 从 html 中选择元素
【发布时间】:2021-09-16 05:32:34
【问题描述】:

使用 bs4 我试图从 html 页面中提取这些值,但我不知道如何获取它们。我怎样才能做到这一点?

价值观:

721,073.7
6.172119857741811412

html:

<hr class='hr-space'><div class='row'><div class='col-md-3 font-weight-bold font-weight-sm-normal mb-1 mb-md-0'><div class='d-flex align-items-center'><span class='mr-1' title='2 Token Transfers'><i class='fal fa-question-circle text-secondary d-none d-sm-inline-block mr-1' data-container='body' data-toggle='popover' data-placement='top' data-original-title='' title='' data-content='List of token transferred in the transaction.'></i>Tokens Transferred: </span><span class='badge badge-pill badge-secondary align-midle'>2</span></div></div><div class='col-md-9'><ul class='list-unstyled mb-0' id='wrapperContent'><li class='media align-items-baseline mb-2'><span class='row-count text-secondary small mr-1'><i class='fa fa-caret-right'></i></span><div class='media-body'><span class=''><b>From</b> </span><span class='hash-tag text-truncate  mr-1'><a href='/token/0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c?a=0x10ed43c718714eb63d5aa57b78b54704e256024e'><span class='hash-tag text-truncate hash-tag-custom-from tooltip-address' data-toggle='tooltip' title='PancakeSwap: Router v2 (0x10ed43c718714eb63d5aa57b78b54704e256024e)'>PancakeSwap: Router v2</span></a></span><span class='mr-1'><b>To</b> </span><span class='hash-tag text-truncate '><a href='/token/0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c?a=0xc2b6da6fdc762f1399697432da46e0cab97166ea'><span class='hash-tag text-truncate hash-tag-custom-to tooltip-address' data-toggle='tooltip' title='PancakeSwap V2: DXT 9 (0xc2b6da6fdc762f1399697432da46e0cab97166ea)'>PancakeSwap V2: DXT 9</span></a></span><span class='mr-1'> <b>For</b> </span><span class='mr-1'><span data-toggle="tooltip" data-original-title="Current Price : $432.65 / WBNB">6.172119857741811412 ($2,670.38)</span> </span> <img src='/token/images/binance_32.png' class='mt-n1 mr-1' width='15'><a href='/token/0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c'>Wrapped BNB (WBNB)</a></div></li><li class='media align-items-baseline mb-2'><span class='row-count text-secondary small mr-1'><i class='fa fa-caret-right'></i></span><div class='media-body'><span class=''><b>From</b> </span><span class='hash-tag text-truncate  mr-1'><a href='/token/0x2b2ff80c489dad868318a19fd6f258889a026da5?a=0xc2b6da6fdc762f1399697432da46e0cab97166ea'><span class='hash-tag text-truncate hash-tag-custom-from tooltip-address' data-toggle='tooltip' title='PancakeSwap V2: DXT 9 (0xc2b6da6fdc762f1399697432da46e0cab97166ea)'>PancakeSwap V2: DXT 9</span></a></span><span class='mr-1'><b>To</b> </span><span class='hash-tag text-truncate '><a href='/token/0x2b2ff80c489dad868318a19fd6f258889a026da5?a=0x1453ce6f063231bb062152b804531d3c3e0a8240'><span class='hash-tag text-truncate hash-tag-custom-to tooltip-address' data-toggle='tooltip' title='0x1453ce6f063231bb062152b804531d3c3e0a8240'>0x1453ce6f063231bb062152b804531d3c3e0a8240</span></a></span><span class='mr-1'> <b>For</b> </span><span class='mr-1'>721,073.7 </span><img src='/images/main/empty-token.png' class='mt-n1 mr-1' width='15'><a href='/token/0x2b2ff80c489dad868318a19fd6f258889a026da5'>DEXIT (DXT) </a></div></li></ul></div></div>

我的代码:

import requests
from bs4 import BeautifulSoup


test_url = 'https://bscscan.com/tx/0x0467727ae96fc0226bc876f0d3aa2332f1da3cec9599e52c683c74f60ec01409'
page = requests.get(test_url)

soup = BeautifulSoup(page.content, "html.parser")
ul = soup.find_all('div', {'class': 'col-md-3 font-weight-bold font-weight-sm-normal mb-1 mb-md-0'})

【问题讨论】:

    标签: python-3.x beautifulsoup


    【解决方案1】:
    1. 我使用 css 选择器来查找返回 2 的 li 元素 数据列表

    2. 您可以迭代价格值将在 span 标签内 这将是最后一个元素,所以从find_all 方法我们可以 提取该数据

    data=soup.select("li.media.align-items-baseline.mb-2")
    for i in data:
        print(i.find_all("span",class_="mr-1")[-1].get_text().split(" ")[0])
    

    输出:

    6.172119857741811412
    721,073.7
    

    【讨论】:

      猜你喜欢
      • 2021-12-10
      • 2021-10-05
      • 1970-01-01
      • 2019-05-15
      • 1970-01-01
      • 1970-01-01
      • 2010-12-07
      • 1970-01-01
      • 2018-03-31
      相关资源
      最近更新 更多