• Предмет: Информатика
  • Автор: alexsanderrachelcom
  • Вопрос задан 3 месяца назад

Переписать предыдущие проекты на базы данных:
Данные с парсинга новостей c сайта upl.uz и gazeta.uz сохранить в базу​

Ответы

Ответ дал: nitroamogus227
0

Ответ:

import requests

from bs4 import BeautifulSoup

import sqlite3

from datetime import datetime

# Функция для парсинга новостей с сайта upl.uz

def parse_upl_news():

   url = 'https://upl.uz/news'  # URL страницы с новостями

   response = requests.get(url)

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

   

   news_list = []

   

   # Парсинг новостей

   for news_item in soup.find_all('div', class_='news-item'):

       title = news_item.find('h3').text.strip()

       date_string = news_item.find('span', class_='news-date').text.strip()

       date = datetime.strptime(date_string, '%d.%m.%Y')

       content = news_item.find('div', class_='news-content').text.strip()

       

       news_list.append((title, date, content))

   

   return news_list

# Функция для сохранения новостей в базу данных SQLite

def save_to_database(news_list):

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

   cursor = conn.cursor()

   

   # Создание таблицы, если она не существует

   cursor.execute('''

       CREATE TABLE IF NOT EXISTS news (

           id INTEGER PRIMARY KEY AUTOINCREMENT,

           title TEXT,

           date TEXT,

           content TEXT

       )

   ''')

   

   # Вставка новостей в таблицу

   for news in news_list:

       cursor.execute('INSERT INTO news (title, date, content) VALUES (?, ?, ?)', news)

   

   conn.commit() # Вызываем commit() для того что бы закомитить создание новой таблицы и добавления новых столбцов.

   conn.close()

# Главная функция

def main():

   news_list = parse_upl_news()

   if news_list:

       save_to_database(news_list)

       print(f'Saved {len(news_list)} news articles to the database.')

if __name__ == '__main__':

   main()

Объяснение:

Важно! Настройку и установки базы данных на ваш компьютер или же виртуальную машину вы должны осуществить сами. Подробные уроки по тому как это сделать вы сможете найти в Youtube. Также после просмотра данных видео-уроков вы поймете как правильно заменить пару значений для того чтобы подключится к именно вашей базе данных. До того как вы не сделали эти выше описанные шаги настоятельно не рекомендую запускать код так как он не будет корректно работать.

Команды для установки библиотек для проекта:

1)pip install requests
2)pip install beautifulsoup4

3)pip install db-sqlite3

4)pip install DateTime

Вас заинтересует