As you yourself found out, the element is not present in the page source, and is loaded dynamically through an AJAX request. The urllib
module (or requests
) returns the page source, which is why you won’t be able to get that value directly.
Go to Developer Tools
> Network
> XHR
and refresh the page. You’ll see an AJAX request made to this url:
https://ethplorer.io/service/service.php?data=0x8b353021189375591723e7384262f45709a3c3dc
This url returns the data in the form of JSON. If you have a look at it, you can get the Holders
number from it using requests
module and the built-in .json()
method.
import requests
r = requests.get('https://ethplorer.io/service/service.php?data=0x8b353021189375591723e7384262f45709a3c3dc')
data = r.json()
holders = data['pager']['holders']['total']
print(holders)
# 2346
1
solved BeautifulSoup table data extraction – data not showing up