# source /path/to/virtualenv/bin/activate # On Unix or MacOS # source /config/miniconda3/envs/py/bin/activate # pip install requests beautifulsoup4 schedule selenium # wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb # sudo dpkg -i google-chrome-stable_current_amd64.deb # apt install libnss3 libxss1 import requests from bs4 import BeautifulSoup # # import schedule import time from selenium import webdriver from selenium.webdriver.chrome.service import Service from webdriver_manager.chrome import ChromeDriverManager import time # pip install requests beautifulsoup4 schedule # Initialize WebDriver service = Service(ChromeDriverManager().install()) driver = webdriver.Chrome(service=service) def check_pairs_sel(): try: # Open the page driver.get("https://www.dextools.io/app/en/bnb/pool-explorer") time.sleep(10) # Wait for JavaScript to execute # Extract the page source html = driver.page_source soup = BeautifulSoup(html, 'html.parser') # Assuming the pairs are listed in
tags with a class that includes the word 'pair' pairs = soup.find_all('div', class_=lambda x: x and 'pair' in x) print("Pairs found:", [pair.text for pair in pairs]) finally: driver.quit() # Initialize WebDriver service = Service(ChromeDriverManager().install()) driver = webdriver.Chrome(service=service) def check_pairs_sel(): try: # Open the page driver.get("https://www.dextools.io/app/en/bnb/pool-explorer") time.sleep(10) # Wait for JavaScript to execute # Extract the page source html = driver.page_source soup = BeautifulSoup(html, 'html.parser') # Assuming the pairs are listed in
tags with a class that includes the word 'pair' pairs = soup.find_all('div', class_=lambda x: x and 'pair' in x) print("Pairs found:", [pair.text for pair in pairs]) finally: driver.quit() def check_new_pairs(): # log the running time print("Checking for new pairs...") url = "https://www.dextools.io/" url = "https://www.dextools.io/app/en/bnb/pool-explorer" response = requests.get(url) soup = BeautifulSoup(response.text, 'html.parser') # make html dump to ./dextools-last.html with open('./dextools-last.html', 'w') as f: f.write(soup.prettify()) # Assuming the pairs are listed in
tags with a class that includes the word 'pair' pairs = soup.find_all('div', class_=lambda x: x and 'pair' in x) current_pairs = {pair.text for pair in pairs} if not hasattr(check_new_pairs, "last_pairs"): check_new_pairs.last_pairs = current_pairs new_pairs = current_pairs - check_new_pairs.last_pairs if new_pairs: print("New Pairs Found:", new_pairs) # Here you can add the code to trigger any event (e.g., send an email, a notification, etc.) # Update the last checked pairs check_new_pairs.last_pairs = current_pairs def main(): #schedule.every(10).seconds.do(check_new_pairs) while True: # schedule.run_pending() check_pairs_sel() time.sleep(10000) if __name__ == "__main__": main()