поиск ссылок и частоты упоминания ника или имени

Создание программы для поиска ссылок и частоты упоминания ника или имени в сети может быть реализовано с использованием Python и различных библиотек, таких как requests, BeautifulSoup для парсинга веб-страниц и re для работы с регулярными выражениями. Ниже приведён пример простой программы, которая выполняет такую задачу.

Обратите внимание, что для выполнения веб-скрейпинга необходимо соблюдать правила использования сайтов (например, проверять файл robots.txt на сайте, чтобы убедиться, что скрейпинг разрешён).

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

def search_name_in_url(url, name):
    try:
        response = requests.get(url)
        response.raise_for_status()  # Проверка на ошибки
        soup = BeautifulSoup(response.text, 'html.parser')

        # Получаем текст страницы
        text = soup.get_text()

        # Ищем упоминания имени
        mentions = re.findall(r'\b' + re.escape(name) + r'\b', text, re.IGNORECASE)
        return len(mentions), mentions

    except requests.RequestException as e:
        print(f"Ошибка при запросе к {url}: {e}")
        return 0, []

def main():
    # Список URL для поиска
    urls = [
        'https://example.com',  # Замените на реальные URL
        'https://another-example.com'
    ]
   
    name = input("Введите имя или ник для поиска: ")
   
    total_mentions = 0
    all_mentions = []

    for url in urls:
        count, mentions = search_name_in_url(url, name)
        total_mentions += count
        all_mentions.extend(mentions)
        print(f"На {url} найдено упоминаний: {count}")

    print(f"\nОбщее количество упоминаний '{name}': {total_mentions}")
    print(f"Все упоминания: {all_mentions}")

if __name__ == "__main__":
    main()




Пояснение к коду:
Импорт библиотек: Мы используем requests для HTTP-запросов, BeautifulSoup для парсинга HTML и re для регулярных выражений.
Функция search_name_in_url: Эта функция принимает URL и имя для поиска, делает запрос к URL, парсит текст страницы и ищет упоминания имени.
Основная функция main: Здесь мы определяем список URL, запрашиваем имя у пользователя и обрабатываем каждый URL, выводя количество упоминаний.
Обработка ошибок: Используется обработка исключений для обработки ошибок, связанных с запросами.

Замените https://example.com и https://another-example.com на реальные URL, с которых вы хотите собирать данные.
Убедитесь, что вы соблюдаете правила использования сайтов, чтобы не нарушать их политику.


Рецензии