繁体   English   中英

使用beautifulsoup 4刮擦html数据

[英]Scrape html data with beautifulsoup 4

我试图从nanopool抓取数据以在我的python脚本中使用,但是每当我尝试抓取数据时,我只会得到该类,而不是我要查找的文本。 有关特定网页的链接可在此处找到
非常简化的页面源

我正在尝试获取的第一笔数据:

<table class="table table-hover table-bordered" style="margin-bottom: 5px;" data-bind="with: calc">
<tbody>
        <tr data-bind="with: hour"><td>Hour</td>
            <td class="text-right" data-bind="text: coins">0.00015</td>
            <td class="text-right" data-bind="text: bitcoins">0.000012</td>
            <td class="text-right" data-bind="text: dollars">0.058</td><td class="text-right" data-bind="text: euros">0.048</td>
            <td class="text-right" data-bind="text: yuan">0.372</td><td class="text-right" data-bind="text: rubles">3.244</td>
        </tr>
</tbody>

我正在尝试获取的第二条数据:
<div class="panel-body" data-bind="text: balance() + ' ETH'">0.02743061 ETH</div>

我一直在尝试使用的代码:
输入项

r = requests.get('https://eth.nanopool.org/account/0x2a156c6dd3bdf2a0c5b284b45b2396c053c2a63d')
soup = BeautifulSoup(r.text, 'html.parser')
balance = soup.findAll('div', attrs = {'class': 'panel-body'})[3]
calc_box = soup.findAll('table')[3].findAll('tr')[2].find('td', {'class', 'text-right'})
print(calc_box)
print(balance)

输出量

<td class="text-right" data-bind="text: coins"></td>
<div class="panel-body" data-bind="text: balance() + ' ETH'"></div>

它异步获取数据。

余额API:

https://eth.nanopool.org/api/v1/balance_hashrate/0x2a156c6dd3bdf2a0c5b284b45b2396c053c2a63d

根据最近6小时的平均哈希率计算的天近似收入。

最近6小时API的平均哈希率:

https://eth.nanopool.org/api/v1/avghashrate/0x2a156c6dd3bdf2a0c5b284b45b2396c053c2a63d

在过去6小时获得平均哈希率之后:

{"status":true,"data":{"h1":9.916666666666668,"h3":19.833333333333336,"h6":20.77777777777778,"h12":22.54861111111111,"h24":23.67013888888889}}

使用“ h6”值(20.7),将require发送到Calculator API:

https://eth.nanopool.org/api/v1/approximated_earnings/20.7

暂无
暂无

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

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