Вопрос задан 08.06.2023 в 08:58. Предмет Информатика. Спрашивает Юшкова Милана.

Завдання Python Створіть БД із двома полями – дата й час та температура. Відвідайте сайт із

погодою у вашому місті. Розпарсіть його та дістаньте інформацію про температуру. Внесіть відповідні дані до БД.
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Нестерова Лана.

Ответ:

Для вирішення цього завдання нам знадобляться наступні бібліотеки Python:

requests - для отримання HTML-сторінки з погодою з веб-сайту

BeautifulSoup - для парсингу HTML-сторінки та отримання інформації про температуру

sqlite3 - для створення та роботи з базою даних SQLite

Спочатку створимо базу даних SQLite та таблицю з двома полями - дата/час та температура:

python

Copy code

import sqlite3

conn = sqlite3.connect('weather.db')

c = conn.cursor()

c.execute('''CREATE TABLE IF NOT EXISTS weather

            (date_time TEXT, temperature REAL)''')

conn.commit()

conn.close()

Далі, скористаємось бібліотекою requests для отримання HTML-сторінки з погодою з веб-сайту. Наприклад, якщо ми хочемо отримати погоду у Львові з сайту "https://ua.sinoptik.ua", ми можемо використати наступний код:

python

Copy code

import requests

url = 'https://ua.sinoptik.ua/погода-львів'

response = requests.get(url)

if response.status_code == 200:

   html = response.content

else:

   print('Не вдалося отримати сторінку')

Після отримання HTML-сторінки ми можемо скористатись бібліотекою BeautifulSoup для парсингу сторінки та отримання інформації про температуру. Наприклад, якщо ми хочемо отримати температуру зі сторінки для сьогоднішнього дня, ми можемо використати наступний код:

python

Copy code

from bs4 import BeautifulSoup

soup = BeautifulSoup(html, 'html.parser')

today_weather = soup.find('div', {'class': 'weatherToday'}).find('div', {'class': 'temperature'}).text

today_temperature = int(today_weather.split('°')[0])

print(f"Температура сьогодні: {today_temperature}°C")

Знайдена температура тепер може бути внесена до бази даних SQLite за допомогою наступного коду:

import datetime

import sqlite3

# Отримання температури і збереження її до бази даних

temperature = today_temperature

date_time = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')

conn = sqlite3.connect('weather.db')

c = conn.cursor()

c.execute("INSERT INTO weather VALUES (?, ?)", (date_time, temperature))

conn.commit()

conn.close()

0 0
Отвечает DELETED.

Ответ:

бібліотеки requests, BeautifulSoup і sqlite3.

pip install requests

pip install beautifulsoup4

Далі, ми можемо написати код для створення бази даних та таблиці, яка буде містити дані про температуру:

import sqlite3

# Підключаємося до бази даних

conn = sqlite3.connect('weather.db')

# Створюємо таблицю

conn.execute('''CREATE TABLE IF NOT EXISTS temperature

(date TEXT, time TEXT, temperature REAL)''')

Після цього можна написати код, який відвідає сайт з погодою, розпарсить його та додасть інформацію про температуру до таблиці. У цьому прикладі ми використовуємо сайт з погодою для міста Київ:

import requests

from bs4 import BeautifulSoup

from datetime import datetime

# Завантажуємо сторінку з погодою

page = requests.get("https://ua.sinoptik.ua/погода-київ")

# Розбираємо HTML-код сторінки

soup = BeautifulSoup(page.content, 'html.parser')

# Знаходимо елемент, що містить інформацію про температуру

temperature = soup.find(class_='today-temp').get_text()

# Отримуємо поточну дату та час

now = datetime.now()

date = now.strftime("%Y-%m-%d")

time = now.strftime("%H:%M:%S")

# Заносимо дані про температуру до бази даних

conn.execute("INSERT INTO temperature (date, time, temperature) VALUES (?, ?, ?)", (date, time, temperature))

conn.commit()

# Закриваємо з'єднання з базою даних

conn.close()

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Щоб виконати це завдання, вам знадобиться встановити деякі додаткові бібліотеки Python, такі як requests і beautifulsoup4. Переконайтеся, що у вас встановлені ці бібліотеки або встановіть їх за допомогою менеджера пакетів, такого як pip.

Ось приклад коду, який допоможе вам отримати дані про температуру з веб-сторінки та зберегти їх у БД SQLite:

python
import requests from bs4 import BeautifulSoup import sqlite3 from datetime import datetime # Встановити з'єднання з базою даних connection = sqlite3.connect('weather.db') cursor = connection.cursor() # Створити таблицю, якщо вона не існує cursor.execute('''CREATE TABLE IF NOT EXISTS weather_data (date_time text, temperature real)''') # Отримати дані з веб-сторінки з погодою url = 'https://example.com/weather' # Ваш URL з погодою response = requests.get(url) soup = BeautifulSoup(response.text, 'html.parser') # Знайти елемент з температурою і отримати її значення temperature_element = soup.find('span', {'class': 'temperature'}) temperature = float(temperature_element.text.strip()) # Отримати поточну дату й час current_datetime = datetime.now().strftime('%Y-%m-%d %H:%M:%S') # Вставити дані до бази даних cursor.execute("INSERT INTO weather_data VALUES (?, ?)", (current_datetime, temperature)) connection.commit() # Закрити з'єднання з базою даних connection.close()

У коді вище замініть 'https://example.com/weather' на URL сторінки з погодою вашого міста. Також, якщо ви використовуєте іншу базу даних, замініть рядок 'weather.db' на шлях до вашої бази даних.

Цей код зберігає поточну дату й час, а також температуру з веб-сторінки погоди у таблицю weather_data вашої бази даних.

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос