103 lines
3.2 KiB
Python
103 lines
3.2 KiB
Python
|
|
# 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 <div> 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 <div> 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 <div> 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()
|