I'm working on a Python project where I need to automate academic tasks like solving math problems step-by-step or rewriting text. I came across Scholar GPT AI, which is a free web-based AI tool that offers features like:
AI Math Solver: Parses and solves math problems (e.g., algebra, geometry, functions) with detailed step-by-step explanations.
AI Rewrite Text: Rewrites or optimizes paragraphs while keeping the original meaning.
Academic Paper Analysis: Breaks down papers into key concepts, structures, and arguments.
Draft Generation for Teaching Materials: Creates lesson plans, outlines, or knowledge summaries.
It's targeted at students, teachers, and researchers, with a free plan (60 initial credits, daily check-ins for more) and paid options starting at $9.99/month for unlimited access.
The site doesn't seem to have a public API (at least none mentioned on the page), so I'm thinking of using Selenium to interact with it programmatically. For example, I'd like to:
Log in (if needed, though free tier might not require it).
Input a math problem or text into the appropriate field.
Submit the query.
Extract the generated output (e.g., step-by-step solution or rewritten text).
Handle credits or rate limits to avoid getting blocked.
Has anyone automated similar web-based AI tools like this? Here's a rough sketch of what I've tried so far with Selenium:
Python
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.options import Options
import time
# Set up headless browser
options = Options()
options.add_argument("--headless")
driver = webdriver.Chrome(options=options)
# Navigate to site
driver.get("https://scholargpt.ai/")
# Assuming there's an input field for math solver (need to inspect elements)
try:
input_field = driver.find_element(By.ID, "math-input") # Placeholder; need actual selector
input_field.send_keys("Solve: x^2 + 5x + 6 = 0")
submit_button = driver.find_element(By.CLASS_NAME, "submit-btn") # Placeholder
submit_button.click()
time.sleep(5) # Wait for response
output = driver.find_element(By.ID, "output-div").text # Placeholder
print(output)
except Exception as e:
print(f"Error: {e}")
driver.quit()
This is just pseudocode—I haven't inspected the actual DOM yet. Issues I'm facing:
Finding the correct CSS selectors or IDs for inputs, buttons, and outputs (the site uses dynamic elements?).
Handling potential CAPTCHA or anti-bot measures.
Managing sessions for credits (free plan has limits).
Extracting structured output reliably (e.g., parsing the step-by-step math explanation).
If there's no clean way with Selenium, are there open-source alternatives like SymPy for math solving or Hugging Face transformers for text rewriting that I can integrate directly? I'd prefer to use Scholar GPT if possible, as it combines multiple features.