抓取 BSCScan 代币持有页面

Scrape BSCScan Token Holdings Page

我正在尝试从此页面获取数据

https://bscscan.com/tokenholdings?a=0xFAe2dac0686f0e543704345aEBBe0AEcab4EDA3d

但网站所有者不为此目的提供端点 API。所以我尝试以不同的方式实现它:

-正在使用 DRYSCRAPE 但库似乎已被废弃;

-USING REQUESTS 但数据由 javascript;

动态提供

-USING REQUESTS HTML 但即使在这种情况下,数据似乎也没有加载。

我想忽略 selenium,因为它很慢,但我不知道如何解决这个问题。任何人都有可行的解决方案?我需要的数据是 table 包含钱包的代币。谢谢你的建议,祝你有个愉快的一天。

你可以用requests-html来完成,例如让我们抓取第一行的符号:

from requests_html import HTMLSession

session = HTMLSession()

url='https://bscscan.com/tokenholdings'
token={'a': '0xFAe2dac0686f0e543704345aEBBe0AEcab4EDA3d'}

r = session.get(url, params=token)
r.html.render(sleep=2)

binance_row = r.html.find('tbody tr', first=True)
symbol = binance_row.find('td')[2].text

print(symbol)

输出:

BNB