script updated to exclude data if it can't be retrieved
This commit is contained in:
parent
44d0490fc1
commit
46bc2c6a36
42
getData.py
42
getData.py
@ -1,16 +1,16 @@
|
||||
import os
|
||||
import csv
|
||||
from datetime import datetime
|
||||
from selenium import webdriver
|
||||
from selenium.webdriver.common.keys import Keys
|
||||
from selenium.webdriver.common.by import By
|
||||
from selenium.webdriver.support.ui import WebDriverWait
|
||||
from selenium.webdriver.support import expected_conditions as EC
|
||||
import time
|
||||
import configparser
|
||||
import zipfile
|
||||
import requests
|
||||
from io import BytesIO
|
||||
from selenium import webdriver
|
||||
from selenium.webdriver.common.keys import Keys
|
||||
from selenium.webdriver.common.by import By
|
||||
from selenium.webdriver.support.ui import WebDriverWait
|
||||
from selenium.webdriver.support import expected_conditions as EC
|
||||
|
||||
# Set the path to the Chrome executable
|
||||
# Define the directory path and URLs for Chrome and Chromedriver
|
||||
@ -40,7 +40,7 @@ chrome_options = webdriver.ChromeOptions()
|
||||
chrome_options.binary_location = chrome_exe_path # Specify Chrome executable path
|
||||
chrome_options.add_argument('--headless') # Run Chrome in headless mode (optional)
|
||||
|
||||
config_path = os.path.join(os.path.dirname(__file__), 'config.ini')
|
||||
config_path = 'config.ini'
|
||||
|
||||
if not os.path.exists(config_path):
|
||||
# If config.ini doesn't exist, prompt the user for credentials
|
||||
@ -57,7 +57,7 @@ if not os.path.exists(config_path):
|
||||
|
||||
# Load credentials from config file
|
||||
config = configparser.ConfigParser()
|
||||
config.read('config.ini') # Update with your config file path
|
||||
config.read(config_path) # Update with your config file path
|
||||
|
||||
username_value = config.get('Credentials', 'username')
|
||||
password_value = config.get('Credentials', 'password')
|
||||
@ -83,15 +83,27 @@ try:
|
||||
# Wait for a few seconds for the page to load after login (you may need to adjust the timing)
|
||||
time.sleep(10)
|
||||
|
||||
# Find the equity with the data you want to scrape (by class name in this case)
|
||||
equity = WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.CLASS_NAME, 'estimate-section__equity__content')))
|
||||
home = WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.CLASS_NAME, 'estimate-section__home__content')))
|
||||
principal = WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.CLASS_NAME, 'principal-balance-value')))
|
||||
try:
|
||||
# Find the equity with the data you want to scrape (by class name in this case)
|
||||
equity_element = WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.CLASS_NAME, 'estimate-section__equity__content')))
|
||||
equity = equity_element.text
|
||||
except Exception as e:
|
||||
print(f"Error retrieving equity: {e}")
|
||||
equity = '' # Set equity to blank in case of an error
|
||||
|
||||
# Get the text content of the equity
|
||||
equity = equity.text
|
||||
home = home.text
|
||||
principal = principal.text
|
||||
try:
|
||||
home_element = WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.CLASS_NAME, 'estimate-section__home__content')))
|
||||
home = home_element.text
|
||||
except Exception as e:
|
||||
print(f"Error retrieving home value: {e}")
|
||||
home = '' # Set home value to blank in case of an error
|
||||
|
||||
try:
|
||||
principal_element = WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.CLASS_NAME, 'principal-balance-value')))
|
||||
principal = principal_element.text
|
||||
except Exception as e:
|
||||
print(f"Error retrieving principal remaining: {e}")
|
||||
principal = '' # Set principal remaining to blank in case of an error
|
||||
|
||||
# Create or update the CSV file
|
||||
data = [datetime.now().strftime('%Y-%m-%d %H:%M:%S'), equity, home, principal]
|
||||
|
Loading…
Reference in New Issue
Block a user