Блог для маленьких школьников и их родителей
ШколаЛа

Ваше завдання — зробити програму, яка шукатиме введену інформацію на сторінках в інтернеті, посилання…

Автор:
Предмет: Информатика
Уровень: студенческий

Ваше завдання — зробити програму, яка шукатиме введену інформацію на сторінках в інтернеті,

посилання на які міститимуться в БД.

Чим частіше введені дані траплятимуться на сторінці, тим вище в результівному списку має розташуватися сайт. Крім цього, користувач повинен

мати зручний інтерфейс для додавання свого переліку сайтів, очищення БД та перегляду результатів пошуку. ДОПОМОЖІТЬ! ЦЕ ТЕРМІНОВО. ПИТАННЯ ЖИТТЯ І СМЕРТІ! ПАЙТОН

Ответов к вопросу: 1
  • vvllclc43
    05.06.2024 | 22:39

    ! ТРЕБА МАТИ МОДУЛЬ REQUESTS ВСТАНОВЛЕНО !

    import requests
    from bs4 import BeautifulSoup
    import sqlite3

    # Підключення до бази даних
    conn = sqlite3.connect(‘sites.db’)
    c = conn.cursor()

    # Створення таблиці для збереження сайтів
    c.execute(»’CREATE TABLE IF NOT EXISTS sites
    (id INTEGER PRIMARY KEY AUTOINCREMENT,
    url TEXT NOT NULL);»’)

    # Додавання нового сайту до бази даних
    def add_site():
    url = input(«Enter the URL of the website you want to add: «)
    c.execute(«INSERT INTO sites (url) VALUES (?)», (url,))
    conn.commit()
    print(«The website has been added successfully.»)

    # Видалення сайту з бази даних
    def remove_site():
    url = input(«Enter the URL of the website you want to remove: «)
    c.execute(«DELETE FROM sites WHERE url=?», (url,))
    conn.commit()
    print(«The website has been removed successfully.»)

    # Очищення бази даних
    def clear_database():
    c.execute(«DELETE FROM sites»)
    conn.commit()
    print(«The database has been cleared successfully.»)

    # Функція для отримання сторінки сайту та пошуку введеної інформації
    def search_website(url, query):
    # Запит до сайту та отримання HTML-коду сторінки
    r = requests.get(url)
    soup = BeautifulSoup(r.content, ‘html.parser’)

    # Пошук введеної інформації на сторінці
    count = soup.text.count(query)

    return count

    # Функція для пошуку введеної інформації на всіх сайтах з бази даних
    def search_websites(query):
    results = []
    # Виконання запиту до бази даних, щоб отримати список сайтів
    c.execute(«SELECT * FROM sites»)
    rows = c.fetchall()

    # Пошук введеної інформації на кожному сайті та збереження результатів
    for row in rows:
    url = row[1]
    count = search_website(url, query)
    results.append((url, count))

    # Сортування результатів за кількістю зустрічей введеної інформації на сайті
    results.sort(key=lambda x: x[1], reverse=True)

    # Виведення результатів пошуку
    print(«Search results:»)
    for result in results:
    print(result[0], «-«, result[1])

    # Основний цикл програми
    while True:
    print(«What would you like to do?»)
    print(«1. Add a website to the database»)
    print(«2. Remove a website from the database»)
    print(«3. Clear the database»)
    print(«4. Search for information on websites»)
    print(«5. Exit»)
    choice = input(«Enter your choice: «)

    if choice == «1»:
    add_site()
    elif choice == «2»:
    remove_site()
    elif choice == «3»:
    clear_database()
    elif choice == «4»:
    query = input(«Enter the information you want to search for: «)
    search_websites(query)
    elif choice == «5»:
    break
    else:
    print(«Invalid choice. Please try again.»)

    # Закриття з’єднання з базою даних
    conn.close()

Ответить на вопрос:
:p :-p 8) 8-) :lol: =( :( :-( :8 ;) ;-) :(( :o:
Нажимая на кнопку я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.