抓取 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
我正在尝试从此页面获取数据
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