gpt4 book ai didi

python - 如何从python和beautifulsoup中的页面抓取iframe数据范围

转载 作者:行者123 更新时间:2023-12-04 07:13:05 24 4
gpt4 key购买 nike

我正在尝试获取页面的 iframe 数据。我找到了一些有效的资源,但我无法让它工作来获取我想要的数据。

import requests
from bs4 import BeautifulSoup

s = requests.Session()
r = s.get("https://bscscan.com/token/0xe56842ed550ff2794f010738554db45e60730371#balances")

soup = BeautifulSoup(r.content, "html.parser")
iframe_src = soup.select_one("#tokeholdersiframe").attrs["src"]

r = s.get(f"https:{iframe_src}")
soup = BeautifulSoup(r.content, "html.parser")

for row in rowsblockdetails[1:]:
rank = row.find_all('td')[0].text[0:].strip()
address = row.find_all('td')[1].text[0:].strip()
amount = row.find_all('td')[2].text[0:].strip()
percentage = row.find_all('td')[3].text[0:]
print (" {:<3} {:<25} {:>15} {:>10} ".format(rank, address, amount, percentage))
当前输出:# 错误
Traceback (most recent call last):
r = s.get(f"https:{iframe_src}")
return self.request('GET', url, **kwargs)
raise InvalidURL("Invalid URL %r: No host supplied" % url)
想要的输出:
1   UniCrypt: Token Vesting                        150,000,000                    15.0451%  Contract             
2 PancakeSwap V2: BIN 17 77,320,752.850881264572940617 8.1141% Contract
3 0xa36b9dc17e421d86ddf8e490dafa87344e76125b 49,463,154.04616156547917712 4.9612%
4 0xbbda05ea467ad348212dade5c38c11910c14e83e 48,704,064.094074959661726945 4.8769%
5 0xcfdb8569fb546a010bb22b5057679c4053d4a231 11,493,129.656390775184191781 1.1528%

最佳答案

可以直接获取iframe HTML,只需要地址:

import requests
from bs4 import BeautifulSoup

s = requests.Session()

iframe_src = "https://bscscan.com/token/generic-tokenholders2?m=normal&a=0xe56842ed550ff2794f010738554db45e60730371"
r = s.get(iframe_src)
soup = BeautifulSoup(r.content, "html.parser")

for row in soup.select("tr:has(td)"):
rank = row.find_all("td")[0].text[0:].strip()
address = row.find_all("td")[1].text[0:].strip()
amount = row.find_all("td")[2].text[0:].strip()
percentage = row.find_all("td")[3].text[0:]
print(
" {:<3} {:<45} {:^35} {:>10} ".format(rank, address, amount, percentage)
)
打印:
 1   UniCrypt: Token Vesting                                   150,000,000               0.0000%  
2 PancakeSwap V2: BIN 17 76,926,258.749406306830460162 0.0000%
3 0xa36b9dc17e421d86ddf8e490dafa87344e76125b 49,463,154.04616156547917712 0.0000%
4 0xbbda05ea467ad348212dade5c38c11910c14e83e 48,770,394.148172297052962199 0.0000%
5 0xcfdb8569fb546a010bb22b5057679c4053d4a231 11,493,129.656390775184191781 0.0000%
6 0xe56842ed550ff2794f010738554db45e60730371 10,236,437.028812018664646028 0.0000%
7 0x1a1db1616854b4fe4723925f7129188483500eb6 10,000,000 0.0000%
8 0xa8b398896d67cea6d26fc140e056f745261c4b00 9,024,167.759368544603338806 0.0000%
9 0x0d9b1e53cbb251572d982d9f96520e8d40d22bb0 7,200,000 0.0000%
10 0x934f895383a6eb7d8a8cfd6c894f7fb57ad5f2b1 7,078,575.994558878120028183 0.0000%
11 0x739621ea040cf397a169047df2935458c6502d63 7,000,000 0.0000%
12 0xc7129c10f8056986716effffbbe0f1e9c80622d8 5,307,909.106163478741030017 0.0000%
13 0x43e5959343cd9154080c235c16fbb4bbd7f83e70 5,215,489.453108218359291854 0.0000%
14 0xa7a9544d86066bf583be602195536918497b1fff 5,000,000 0.0000%
15 0x81da471feb4a45438053dc05e709be056ec26c39 4,900,400 0.0000%
16 0xc68446c2a2e03e932774c3353629b9979b380c72 4,846,096.854970087386140103 0.0000%
17 0xb6957013a430e4cf509a4c51002073c1b24356e2 4,641,857.889152974553322217 0.0000%
18 0x4b0005c7bba3e10820b5b3a2863821e00701b383 4,570,260.896212362994501438 0.0000%
19 0xe02752824b6b11e027080e75f692bd22b3dc7091 4,388,894.363703154394892711 0.0000%

...and so on.

关于python - 如何从python和beautifulsoup中的页面抓取iframe数据范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68959358/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com