I create a crawler to scrape binance.com enter link description here using python selenium. The problem is I want to scrape all the crypto names and their price from this website, But I can't. I am able to scrape only the data which is show on a particular page. Is there any way to grab all the data. Without using any api.
Code trials:
from lib2to3.pgen2 import driver
import schedule
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from webdriver_manager.chrome import ChromeDriverManager
def getData():
driver = webdriver.Chrome(ChromeDriverManager().install())
driver.maximize_window()
driver.get("https://www.binance.com/en/markets")
# driver.implicitly_wait(5)
bitcoins = driver.find_elements(By.XPATH, "//div[contains(@class, 'css-1ap5wc6')]")
# prMarCap = driver.find_elements(By.XPATH, "//div[@class='css-leyy1t'] //div[contains(text(), '$')]")
pr = driver.find_elements(By.XPATH, "//div[@class='css-leyy1t'] //div[@class='css-ydcgk2']")
MarCap = driver.find_elements(By.XPATH, "//div[@class='css-s779xv']")
mycoin=[]
myprice=[]
mymarcap = []
for bit in bitcoins:
# print(bit.text)
mycoin.append(bit.text)
for MC in MarCap:
# print(MC.text)
mymarcap.append(MC.text)
for price in pr:
# print(price.text)
myprice.append(price.text)
final = zip(mycoin, myprice, mymarcap)
for data in list(final):
print(data)
schedule.every(1).seconds.do(getData)
while True:
schedule.run_pending()
time.sleep(1)