"""buyvm stock checker""" import requests from bs4 import BeautifulSoup BASE_URL = 'https://my.frantech.ca/' URLS = [ 'https://my.frantech.ca/cart.php?gid=37', # Las Vegas 'https://my.frantech.ca/cart.php?gid=38', # New York 'https://my.frantech.ca/cart.php?gid=48', # Miami 'https://my.frantech.ca/cart.php?gid=39', # Luxembourg ] def get_url(url): try: response = requests.get(url) response.raise_for_status() except requests.RequestException as e: print(f'error fetching {url}: {str(e)}') return None return response.text def get_packages(html): soup = BeautifulSoup(html, 'html.parser') packages = [] package_elements = soup.find_all('div', class_='package') for package_element in package_elements: package = {} package_name = package_element.find('h3', class_='package-name').text.strip() package['name'] = package_name package_quantity = package_element.find('div', class_='package-qty').text.strip() package['qty'] = package_quantity order_button = package_element.find('a', class_='btn-primary') if order_button: order_url = order_button['href'] package['url'] = BASE_URL + order_url else: package['url'] = '' packages.append(package) return packages def main(): for url in URLS: html = get_url(url) packages = get_packages(html) for package in packages: print('Package Name:', package['name']) print('Package Quantity:', package['qty']) print('Order URL:', package['url']) print('---------------------------') if __name__ == '__main__': main()