Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Використання бібліотеки BeautifulSoup для парсингу сайтів на присутність забороненого контенту

Автор:   •  Май 24, 2026  •  Лабораторная работа  •  789 Слов (4 Страниц)  •  3 Просмотры

Страница 1 из 4

Хмельницький національний університет

Факультет інформаційних технологій

Кафедра кібербезпеки

ЛАБОРАТОРНА РОБОТА № 9

Дисципліна Алгоритми та структури даних

        

Спеціальність                               125 –Кібербезпека                                   

на тему Використання бібліотеки BeautifulSoup для парсингу сайтів на присутність забороненого контенту.

ЛРКБЗІ.7512376.24.01.02 ПЗ

Виконала:  студентка 2 курсу,  група КБЗІ-24-1               Євгенія ПРОКОПЕНКО

                                                      Підпис                      Ініціали, прізвище

Перевірив:                                                               ____         Ігор МУЛЯР

                                           Науковий ступінь, вчене звання                   Підпис                     Ініціали, прізвище

Хмельницький 2026

Мета: Навчитися використовувати пакети Python для парсингу вебдодатків.

Завдання до лабораторної роботи:

Реалізуйте програму, яка для вебсторінки заданої викладачем буде підраховувати частоту появи слів у тексті новини, частоту появи html-тегів, кількість посилань та зображень.

[pic 1]

Рисунок 1 -  Блок-схема алгоритму парсингу вебсторінки

Код:

import requests
from bs4 import BeautifulSoup
from collections import Counter
import string
import re


def analyze_webpage(url):
   try:
       response = requests.get(url)

       if response.status_code != 200:
           print(f"Помилка доступу до сайту. Код: {response.status_code}")
           return

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

       links = soup.find_all('a')
       links_count = len(links)

       images = soup.find_all('img')
       images_count = len(images)

       all_tags = soup.find_all()
       tags_names = [tag.name for tag in all_tags]
       tags_frequency = Counter(tags_names)

       for script in soup(["script", "style"]):
           script.extract()

       text = soup.get_text()

       words = re.findall(r'\b\w+\b', text.lower())

       words = [word for word in words if len(word) > 2]

       words_frequency = Counter(words)

       print(f"--- Результати аналізу для: {url} ---\n")

       print(f"1. Кількість зображень (<img>): {images_count}")
       print(f"2. Кількість посилань (<a>): {links_count}")

       print("\n3. Топ-10 найчастіших HTML-тегів:")
       for tag, count in tags_frequency.most_common(10):
           print(f"   <{tag}>: {count}")

       print("\n4. Топ-10 найчастіших слів у тексті:")
       for word, count in words_frequency.most_common(10):
           print(f"   '{word}': {count}")

   except Exception as e:
       print(f"Виникла помилка при виконанні програми: {e}")


if __name__ == "__main__":
   target_url = input("Введіть URL сторінки для аналізу (приклад вводу, https://www.bbc.com/ukrainian): ")

   if not target_url:
       target_url = "https://www.python.org/"

   if not target_url.startswith("http"):
       target_url = "https://" + target_url

   analyze_webpage(target_url)

...

Скачать:   txt (4.1 Kb)   pdf (240.5 Kb)   docx (122.5 Kb)  
Продолжить читать еще 3 страниц(ы) »
Доступно только на Essays.club