Рассчитайте стоимость веб-домена и хостинга с помощью примеров кода

Стоимость веб-домена и хостинга может варьироваться в зависимости от провайдера и конкретных функций, которые вам нужны. Вот несколько методов, которые вы можете использовать для расчета стоимости, а также примеры кода на Python:

Метод 1: использование API регистратора доменов
Вы можете использовать API, предоставленный регистратором домена, для получения стоимости домена. Вот пример использования Namecheap API:

import requests
def get_domain_cost(domain_name):
    api_key = 'YOUR_API_KEY'
    api_user = 'YOUR_API_USER'
    endpoint = f'https://api.namecheap.com/xml.response?ApiKey={api_key}&ApiUser={api_user}&UserName={api_user}&Command=namecheap.domains.getTldList'
    response = requests.get(endpoint)
    tld_list = response.json()['ApiResponse']['CommandResponse']['Tlds']['Tld']
    for tld in tld_list:
        if domain_name.endswith(tld['Name']):
            return float(tld['RegisterPrice'])
    return 0.0
domain_name = 'example.com'
cost = get_domain_cost(domain_name)
print(f'The cost of {domain_name} is ${cost:.2f} per year.')

Метод 2: страницы цен провайдеров веб-хостинга
Многие провайдеры веб-хостинга размещают свои тарифные планы на своих веб-сайтах. Вы можете очистить страницу с ценами, чтобы узнать стоимость. Вот пример использования библиотеки BeautifulSoup:

import requests
from bs4 import BeautifulSoup
def get_hosting_cost(provider_url):
    response = requests.get(provider_url)
    soup = BeautifulSoup(response.text, 'html.parser')
    # Use CSS selectors to locate the pricing information
    price_element = soup.select_one('.price')  # Example CSS selector
    if price_element:
        price_text = price_element.get_text()
        # Extract the numeric value from the text
        price = float(''.join(filter(str.isdigit, price_text)))
        return price
    return 0.0
provider_url = 'https://www.example.com/pricing'
cost = get_hosting_cost(provider_url)
print(f'The cost of hosting with Example Hosting is ${cost:.2f} per month.')